Fatti: A. Nel 1993 C._, amministratore e azionista unico della C._SA, ha rimesso 45 azioni al portatore (su 100) a D._, il quale le ha depositate presso E._ con l'incarico di consegnarle, quando sarebbe morto, a A._, sua convivente. D._ è deceduto l'11 marzo 2001 e A._ ha ricevuto i titoli. L'amministratore della C._SA si è però rifiutato di riconoscerle la qualità di azionista, perché a suo dire le azioni erano state affidate ad D._ soltanto in pegno, a garanzia di un mutuo. Durante l'assemblea generale del 18 febbraio 2003 a A._ e al suo avvocato B._, al quale la donna aveva a sua volta ceduto 40 azioni, è perciò stato negato il diritto di partecipare alle deliberazioni. B. L'8 aprile 2003 A._ e B._, dichiaratisi proprietari e possessori di 45 azioni, hanno avviato una causa civile contro la C._SA davanti al Pretore di Bellinzona: hanno chiesto che fosse annullata l'assemblea generale del 18 febbraio 2003, essendo loro stati privati del diritto di voto, e di accertare la nullità e quindi di riconvocare tutte le assemblee svoltesi dopo la morte di D._, durante le quali era stata accertata la presenza di tutti gli azionisti benché i titolari delle 45 azioni in discussione non fossero mai stati convocati. La convenuta ha eccepito la nullità delle azioni, che non erano state firmate dall'amministratore della società, nonché il difetto di legittimazione attiva degli attori, avendo D._ detenuto i titoli solo in pegno e non essendo A._ né moglie né sua erede. Il Pretore ha accolto l'eccezione e respinto la petizione con sentenza del 7 febbraio 2008. La successiva appellazione di A._ e B._ è stata a sua volta respinta il 28 luglio 2009 dalla II Camera civile del Tribunale di appello ticinese. C. B._ e A._ insorgono davanti al Tribunale federale con ricorso in materia civile del 14 settembre 2009. Chiedono che l'assemblea generale del 18 febbraio 2003 sia annullata e che al consiglio di amministrazione sia ordinato di riconvocarla con il medesimo ordine del giorno; inoltre che sia accertata la nullità di tutte le assemblee generali svoltesi dopo l'11 marzo 2001 e che al consiglio di amministrazione sia ordinato di riconvocarle tutte per l'esame e l'approvazione dei conti dall'anno 2000 in poi. La C._SA ha proposto di respingere il ricorso, nella misura in cui fosse ammissibile, con risposta del 28 ottobre 2009. L'autorità cantonale non si è espressa. 