Fatti: A. Nel dicembre 1999 A._ è stato operato alla colonna vertebrale presso il Servizio cantonale di neurochirurgia dell'Ospedale civico di Lugano; sono seguite delle complicazioni che hanno reso necessarie altre terapie e operazioni. L'11 dicembre 2001 l'Ufficio dell'Assicurazione Invalidità di Bellinzona ha accertato un grado d'invalidità dell'80 % a partire dal 1° dicembre 2000 e con decisione del 25 gennaio 2002 ha fissato la rendita di A._ e le rendite completive per moglie e figlia. B. Il 23 gennaio 2003 l'Assicurazione federale per l'Invalidità (AI) ha notificato all'Ente ospedaliero cantonale le proprie pretese di regresso. Scontratasi con un rifiuto, essa ha avviato azione giudiziaria davanti al Pretore di Bellinzona, chiedendo, in replica, che l'Ente Ospedaliero Cantonale (EOC) fosse condannato a pagarle fr. 525'029.--, oltre interessi. L'EOC si è opposto eccependo, tra l'altro, la perenzione della domanda. La procedura è stata dunque limitata all'esame di questa eccezione, che il Pretore ha ritenuto fondata, donde la reiezione della petizione pronunciata il 24 aprile 2007. In accoglimento dell'appello presentato dall'AI, con sentenza del 23 ottobre 2008 la II Camera civile del Tribunale d'appello del Cantone Ticino ha sovvertito il giudizio di prima istanza e ha respinto l'eccezione di perenzione dell'azione di risarcimento. C. Con ricorso in materia civile del 9 dicembre 2008 l'EOC è insorto davanti al Tribunale federale onde ottenere la modifica della sentenza cantonale nel senso della reiezione dell'appello e, di conseguenza, della conferma della pronunzia pretorile. Con risposta del 9 febbraio 2009 l'AI propone, in via principale, la reiezione del ricorso e la conferma della sentenza cantonale; in via subordinata - in caso di accoglimento anche solo parziale del gravame - il rinvio della causa all'autorità cantonale, la quale ha dal canto suo rinunciato a formulare osservazioni.