You can get offline support without an SPA. Of course, that may mean replicating some of your back-end behaviour in JavaScript, but that doesn't necessitate building an SPA, or the whole app in JS.
Please do share which crappy SPAs you're thinking of
A well done spa is far superior. Offline support, caching, adaptive layout, etc. it’s not even close.
That being said, barring things like offline support the two are equivalent functionally. Use what you know.