Faits : A. Par ordonnance du 15 octobre 2014, le Ministère public du canton de Genève a classé la procédure pénale ouverte à l'encontre de X._. Il a rejeté les prétentions en indemnité de X._ fondées sur les art. 429 al. 1 let. a et c CPP et mis les frais de la procédure, d'un montant de 350 fr., à la charge de celui-ci. Le 3 mars 2015, la Chambre pénale de recours de la Cour de justice a rejeté le recours de X._ contre la décision du Ministère public. Par arrêt du 5 février 2016 (6B_396/2015), le Tribunal fédéral a annulé la décision du 3 mars 2015 de la Chambre pénale de recours et lui a renvoyé la cause pour qu'elle se saisisse des griefs relatifs à l'indemnisation des dépenses occasionnées par l'exercice raisonnable des droits de procédure de X._ et la répartition des frais de la procédure préliminaire. B. Statuant sur renvoi le 16 mars 2016, la Chambre pénale de recours a partiellement admis le recours de X._ contre l'ordonnance du 15 octobre 2014. Elle a laissé les frais de la procédure préliminaire à la charge de l'Etat et alloué à X._ une indemnité de 6'048 fr. TTC pour ses frais de défense en procédure préliminaire. Elle a mis à la charge de X._ le quart des frais de la procédure de recours, comprenant un émolument de 1000 fr., et lui a alloué une indemnité de défense de 1000 fr. TTC pour la procédure de recours. Le 22 mars 2017, le Tribunal fédéral a annulé cet arrêt et renvoyé la cause à l'autorité cantonale pour qu'elle rende une nouvelle décision sur la répartition des frais de la procédure de recours ainsi que sur l'indemnisation des frais de défense de X._ pour la procédure de recours (6B_477/2016). C. Dans son arrêt du 25 avril 2017, la Chambre pénale de recours a considéré qu'un motif qui n'avait pas été évoqué dans l'arrêt du 16 mars 2016, à savoir le rejet des prétentions de X._ en réparation du tort moral (art. 429 al. 1 let. c CPP) par arrêt du 3 mars 2015, justifiait que ce dernier supporte la moitié des frais de la procédure de recours et que son indemnité pour ses frais de défense soit réduite de moitié. Compte tenu de l'interdiction de la reformatio in pejus, elle a rendu un arrêt dont le dispositif est identique à celui du 16 mars 2016. D. X._ forme un recours en matière pénale au Tribunal fédéral contre ce dernier arrêt. Il conclut à l'annulation de l'arrêt attaqué et à sa réforme en ce sens que les frais sont intégralement laissés à la charge de l'Etat et qu'une indemnité de procédure de 1'836 fr. TTC lui est allouée pour la procédure de recours cantonale. Il sollicite par ailleurs l'assistance judiciaire.