Faits : A. Par jugement du 25 mai 2016, le Tribunal de police de Genève a reconnu X._ coupable de violation d'une obligation d'entretien et l'a condamné à une peine pécuniaire de 180 jours-amende à 70 fr., avec sursis pendant 4 ans. B. Statuant le 18 mai 2017 sur appel de X._, la Chambre pénale d'appel et de révision a réformé ce jugement en ce sens qu'elle a ramené le montant du jour-amende à 40 fr. et la durée du délai d'épreuve à 3 ans. Elle l'a confirmé pour le surplus. La cour cantonale a retenu en substance les faits suivants. B._ est née en 2008 d'une relation entre A._ et X._, qui l'a reconnue le 15 octobre 2009. Par convention du 15 avril 2010, ratifiée par le Tribunal tutélaire, X._ s'est engagé à verser en mains d'A._ pour l'entretien de sa fille une contribution mensuelle de 550 fr. dès le 1er mars 2008 et jusqu'à l'âge de 5 ans révolus et de 650 fr. de 5 à 10 ans révolus, le montant de la contribution continuant à augmenter avec l'age de l'enfant jusqu'à sa majorité, voire la fin de sa formation. Par courrier recommandé de son conseil du 27 mars 2015, A._ a mis en demeure X._ de commencer à verser la contribution d'entretien courante pour leur fille. En date du 29 juin 2015, A._ a déposé plainte pénale contre X._, qui n'avait jamais versé aucun montant pour l'entretien de sa fille. C. X._ forme un recours en matière pénale au Tribunal fédéral. Il conclut, avec suite de frais et dépens, principalement à l'annulation de l'arrêt attaqué et à son acquittement de l'infraction de l'art. 217 CP. Subsidiairement, il conclut au renvoi de la cause à la cour cantonale pour qu'elle statue à nouveau dans le sens des considérants; plus subsidiairement, c'est au Tribunal de police qu'il demande le renvoi de la cause. Il sollicite par ailleurs l'assistance judiciaire.