Faits : A. Par jugement du 2 mai 2013, le Tribunal de police genevois a notamment reconnu X._ coupable d'agression et l'a condamné à une peine privative de liberté de 24 mois avec sursis pendant 3 ans ainsi qu'à payer, conjointement et solidairement avec trois coaccusés, 8'000 fr. à A._ à titre de réparation morale. Les faits à l'origine de cette condamnation sont en substance les suivants. Dans la nuit du 30 au 31 mars 2012, A._ se dirigeait avec des amis vers une discothèque à Genève. Au moment où une voiture passait très près d'eux, il a jeté sur la route un mégot de cigarette, qui a atterri sur le capot ou la vitre du véhicule. Celui-ci s'est arrêté un peu plus loin et ses cinq occupants sont sortis. A._ a alors été agressé, roué de coups de poing et pieds notamment au visage, ses agresseurs continuant à le frapper alors qu'il était tombé par terre et tentait de se relever. Il ressort d'un certificat médical que A._ a souffert d'un traumatisme crânien, de multiples fractures de la face, du plancher et du toit de l'orbite gauche, de la lame papyracée droite, des os propres du nez ainsi que des cellules ethmoïdales antérieures. Il a de plus été victime d'une fracture du septum nasal avec un pneumocrâne frontal et du vertex. Il a dû subir une ablation du cristallin de chaque oeil et devra encore se soumettre à au moins une intervention chirurgicale. B. Le 3 avril 2014, la Chambre pénale d'appel et de révision de la Cour de justice genevoise a notamment rejeté l'appel formé par X._ contre cette condamnation. C. X._ forme un recours en matière pénale contre cet arrêt. Il conclut, avec suite de frais et dépens, principalement à l'annulation de l'arrêt attaqué et à son acquittement. Subsidiairement, il conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause à l'autorité cantonale pour qu'elle prononce son acquittement. Il sollicite en outre l'assistance judiciaire. D. Invités à présenter des observations, l'intimé et le Ministère public ont conclu au rejet du recours. La cour cantonale a déclaré n'avoir pas d'observations à formuler.