Faits: A. Entre octobre 2003 et octobre 2005, X._ a perçu, pour l'ensemble de sa famille, le revenu minimum d'insertion (RMR) et, en novembre et décembre 2005, l'aide sociale vaudoise. Lorsqu'il a rempli sa première demande, il a affirmé que son épouse ne travaillait pas et ne percevait aucun revenu, tout en sachant que cette dernière venait de signer un contrat temporaire avec une entreprise. Par la suite, lorsqu'il a dû remplir le questionnaire mensuel pour les bénéficiaires du RMR, X._ a toujours répondu par la négative à la question de savoir si son conjoint avait obtenu un revenu, alors que son épouse avait un emploi depuis le mois de novembre 2003. L'aide sociale vaudoise s'est fondée sur les renseignements transmis par le Service de prévoyance et d'aide sociale (SPAS) pour accorder son assistance et c'est un total de 47'131 fr. 45 francs qui a été indûment perçu par l'intéressé. B. Par jugement du 27 février 2007, le Tribunal de police de l'arrondissement de l'Est vaudois a libéré X._ de l'accusation d'escroquerie, considérant que l'élément constitutif de l'astuce n'était pas réalisé. Il l'a en revanche condamné pour contravention à la loi sur l'action sociale vaudoise (LASV) à une amende de 5'000 fr., peine partiellement complémentaire à celle prononcée le 27 mai 2005 par le Juge d'instruction de l'Est vaudois et a dit qu'à défaut de paiement de l'amende, la peine privative de liberté de substitution serait de cinquante jours. Statuant sur recours du Ministère public, la Cour de cassation pénale du Tribunal cantonal vaudois a confirmé cet arrêt le 30 mars 2007. Le 9 octobre 2007, la Cour de droit pénal du Tribunal fédéral a admis le recours du Ministère public et renvoyé l'affaire à l'autorité cantonale pour qu'elle complète l'état de fait et statue à nouveau. C. Par jugement du 13 janvier 2009, le Tribunal de police de l'arrondissement de l'Est vaudois a notamment constaté que la prescription était acquise et libéré X._ de l'accusation de contravention à la loi sur l'action sociale vaudoise, constaté que celui-ci s'était rendu coupable d'escroquerie, l'a condamné à une peine pécuniaire de 90 jours-amende, le montant du jour-amende étant fixé à 70 fr., a suspendu l'exécution de la peine pécuniaire et fixé au condamné un délai d'épreuve de trois ans, a condamné X._ à une amende de 1'500 fr. et dit qu'à défaut de paiement de l'amende, la peine privative de liberté de substitution sera de 20 jours. Le 30 mars 2009, la Cour de cassation pénale du Tribunal cantonal vaudois a rejeté le recours de X._. D. Ce dernier forme un recours en matière pénale au Tribunal fédéral. Il conclut à la réforme de l'arrêt cantonal et à son acquittement de la prévention d'escroquerie, car les éléments constitutifs de l'astuce et de la volonté d'enrichissement illégitime ne sont pas réalisés, subsidiairement à une exemption de peine et plus subsidiairement à ce que la peine infligée soit réduite. Il demande aussi à être mis au bénéfice de l'assistance judiciaire. 