Faits : A. Le 18 janvier 2014, le Ministère public genevois a rendu une ordonnance pénale déclarant X._ coupable de conduite sous retrait, refus ou interdiction d'utilisation du permis de conduire (art. 95 al. 1 let. b LCR) et l'a condamné à une peine privative de liberté de 6 mois, sous déduction de 2 jours de détention avant jugement. Il lui est reproché d'avoir conduit un véhicule en janvier 2014 alors qu'il était depuis 2007 sous le coup d'un retrait de permis. Il a reconnu les faits et admis qu'il continuait de conduire dans le cadre de son activité professionnelle et pour amener sa fille à l'école. Il ressort de son casier judiciaire qu'il a déjà été condamné à six reprises, la dernière remonte à janvier 2012; il a alors écopé d'une peine privative de liberté de 60 jours pour infraction aux art. 90 et 95 LCR. B. Par courrier du 23 janvier 2014, X._ a fait opposition à cette ordonnance pénale. Le 6 février 2014, il a été convoqué par le procureur à une audience appointée le 26 février suivant pour être entendu personnellement sur son opposition. A la date en question, seul son avocat était présent; il a informé le procureur que son client l'avait averti qu'il n'était pas en mesure d'assister à l'audience. Le procureur a imparti à l'intéressé un délai jusqu'au 3 mars 2014 pour justifier son absence, précisant qu'à défaut il retiendrait qu'il se désintéressait de la procédure et que son opposition serait réputée retirée. Par courrier du 3 mars 2014, l'avocat de X._ a confirmé au ministère public que son mandant avait souffert, le 26 février 2014, d'une migraine insupportable, dont la survenance ne pouvait que très difficilement être attestée par un certificat médical. C. Le 13 mars 2014, le ministère public a rendu une ordonnance, dans laquelle il a considéré que l'opposition formée par X._ était réputée retirée. D. Par arrêt du 8 mai 2014, la Chambre pénale de recours de la Cour de justice genevoise a rejeté le recours formé par X._ contre cette ordonnance. E. X._ forme un recours en matière pénale contre l'arrêt de la Chambre pénale de recours. Il conclut, avec suite de frais et dépens, à l'annulation de l'arrêt attaqué et principalement à ce que le Tribunal fédéral dise qu'il doit être procédé à l'instruction de son opposition à l'encontre de l'ordonnance pénale du 18 janvier 2014; subsidiairement il conclut au renvoi de la cause à la Chambre pénale de recours afin qu'elle statue dans le sens des considérants. Il sollicite en outre l'assistance judiciaire. F. Invité à se déterminer sur le recours, le ministère public a renoncé à formuler des observations et a conclu à la confirmation de l'arrêt cantonal. Pour sa part, la cour cantonale, se référant aux considérants de son arrêt, a déclaré n'avoir pas d'observations à formuler.