Faits :
A.
Par ordonnance du 29 mai 2017, le Ministère public de Genève a pris acte du retrait des plaintes pénales déposées par A._ à l'encontre de X._, a constaté un empêchement de procéder et a classé la procédure à l'encontre de X._. Le Ministère public a refusé d'allouer à X._ une indemnité à titre de réparation du tort moral et a mis à sa charge la totalité des frais de la procédure.
B.
Par arrêt du 3 novembre 2017, la Chambre pénale de recours de la Cour de justice a rejeté le recours de X._ en tant qu'il portait sur le refus de lui allouer une indemnité à titre de réparation du tort moral et sur sa condamnation aux frais.
Elle a considéré en substance que X._ avait manqué à l'interdiction générale de nuire à autrui en menaçant sa compagne et avait violé l'art. 28 CC en l'insultant, faits qu'il avait reconnu. Il s'était également excusé pour le cas où il lui aurait saisi le cou, de sorte qu'une norme de comportement protégeant la personnalité de la plaignante était également susceptible d'entrer en considération. Dans ces circonstances, X._ avait, par son comportement contraire au droit civil, illicitement et fautivement provoqué l'ouverture de la procédure pénale, de sorte que les frais pouvaient être mis à sa charge.
C.
X._ forme un recours en matière pénale au Tribunal fédéral. Il conclut, avec suite de dépens, principalement à l'annulation de l'arrêt de la Chambre pénale de la Cour de justice du 3 novembre 2017, à l'annulation des chiffres 4 et 5 de l'ordonnance de classement du Ministère public du 29 mai 2017, à la constatation de la violation de son droit d'être entendu, à la constatation qu'il a renoncé à demander une indemnité à titre de réparation du tort moral au sens de l'art. 429 CPP, à ce que les frais de la procédure préliminaire et de la procédure de recours soient laissés à la charge de l'Etat, ainsi qu'à la fixation d'une indemnité de procédure en faveur de Me Magali Buser pour la procédure de recours auprès de la Chambre pénale à hauteur de 2'052 francs. Subsidiairement, il conclut au renvoi de la cause à la Chambre pénale de recours de la Cour de justice dans le sens des considérants. Il sollicite également le bénéfice de l'assistance judiciaire et l'octroi de l'effet suspensif.
D.
Par ordonnance du 7 décembre 2017, le Président de la Cour de droit pénal du Tribunal fédéral a rejeté la requête d'effet suspensif.
Considérant en droit :
1.
Le recourant s'en prend à sa condamnation au paiement des frais de la procédure. Il soutient qu'en vertu des art. 114 al. 3 et 419 CPP, les frais ne pouvaient pas être mis à sa charge.
1.1. L'art. 114 CPP prévoit que le prévenu est capable de prendre part aux débats s'il est physiquement et mentalement apte à les suivre (al. 1). Si le prévenu est temporairement incapable de prendre part aux débats, les actes de procédure qui ne souffrent pas de report sont exécutés en présence de son défenseur (al. 2). Si le prévenu est durablement incapable de prendre part aux débats, la procédure est suspendue ou classée. Les dispositions spéciales régissant la procédure contre les prévenus irresponsables sont réservées (al. 3).
Selon l'art. 419 CPP, si la procédure a fait l'objet d'une ordonnance de classement en raison de l'irresponsabilité du prévenu ou si celui-ci a été acquitté pour ce motif, les frais peuvent être mis à sa charge si l'équité l'exige au vu de l'ensemble des circonstances. L'art. 419 CPP prévoit ainsi une application analogique de l'art. 54 CO, qui institue une responsabilité causale fondée sur les risques que présente pour autrui l'état de la personne incapable de discernement (THOMAS DOMEISEN, in Basler Kommentar, StPO II, 2e éd. 2014, n° 7 ad art. 419 CPP; JEAN CREVOISIER, in Commentaire romand CPP, 2011, n° 1 ad art. 419 CPP).
1.2. Le ministère public a classé la procédure à l'égard du recourant après avoir constaté un empêchement de procéder, dès lors que toutes les infractions reprochées étaient poursuivies sur plainte et qu'A._ avait déclaré retirer ses plaintes des 22 août 2016 et 8 février 2017.
Le recourant ne prétend pas que le retrait de plainte ne justifiait pas le classement de la procédure conduite à son encontre. Il soutient cependant que dans la mesure où un rapport d'examen neuropsychologique daté du 28 mars 2017 constatait qu'il ne disposait pas de la capacité de discernement suffisante pour suivre la procédure pénale, l'art. 114 al. 3 CPP était également applicable et le ministère public ne pouvait mettre les frais à sa charge qu'aux conditions restrictives de l'art. 419 CPP, qui n'étaient pas remplies en l'espèce.
1.3. La question de savoir si le recourant peut se plaindre de ce que le classement aurait également dû être prononcé pour un motif autre que le retrait des plaintes pénales peut rester ouverte, compte tenu de ce qui suit.
L'argumentation du recourant est erronée dès lors qu'elle part de la prémisse que son incapacité de suivre la procédure au sens de l'art. 114 al. 3 CPP - à supposer qu'elle aurait dû être constatée -, devait induire l'application de l'art. 419 CPP en ce qui concerne la répartition des frais. En effet, l'art. 419 CPP vise les personnes irresponsables au sens de l'art. 19 al. 1 CP (THOMAS DOMEISEN, op. cit., n° 4). L'application de cette disposition dépend donc de savoir si l'auteur a commis les infractions reprochées en état d'irresponsabilité, non de son éventuelle incapacité à suivre les débats au sens de l'art. 114 al. 3 CPP. A cet égard, la cour cantonale a relevé que le recourant n'avait jamais invoqué son irresponsabilité pour les actes qui faisaient l'objet de la poursuite (arrêt attaqué, consid. 3.3).
Même à déduire de son écriture que le recourant remet également en cause sa responsabilité pénale pour les faits reprochés, il ne saurait être suivi. En effet, l'expertise du 25 mai 2016 dont il se prévaut, conduite dans une autre procédure et constatant une légère diminution de responsabilité pour des faits commis le 2 mai 2013, ne saurait suffire à établir son irresponsabilité en lien avec les faits de la présente cause. Il n'y a pas non plus lieu de considérer que la cour cantonale aurait dû administrer d'office des preuves complémentaires sur ce point (art. 389 al. 1 et 3 CPP), cela dans le seul but d'examiner si le ministère public aurait dû envisager un motif de classement plus favorable au recourant sous l'angle des frais, sans même que celui-ci n'allègue avoir commis les actes reprochés en état d'irresponsabilité.
Ainsi, le recourant ne démontre pas que la condition de l'irresponsabilité prévue par l'art. 419 CPP aurait été remplie, de sorte que l'éventuelle application de cette disposition au cas d'espèce doit déjà être exclue pour ce motif. Le grief est infondé.
1.4. Il s'ensuit également que la cour cantonale n'a pas constaté les faits de manière manifestement lacunaire en n'établissant pas la situation financière du recourant, qui n'était pertinente que si l'art. 419 CPP avait été applicable.
1.5. La cour cantonale n'a pas non plus violé le droit d'être entendu du recourant, sous l'angle de l'obligation de motiver sa décision, en constatant que sa maladie n'avait joué aucun rôle lors de l'ouverture de la procédure pénale, ce qui excluait l'application de l'art. 419 CPP au cas d'espèce, comme cela a été vu ci-dessus.
2.
Le recourant reproche à la cour cantonale d'être restée muette sur l'éventuelle application de l'art. 427 al. 2 CPP. Il invoque une violation de son droit d'être entendu ainsi que de cette disposition légale. Il soutient également que la cour cantonale a omis de constater des faits pertinents sous l'angle de l'art. 427 al. 2 CPP, à savoir qu'A._ avait déjà, par le passé, retiré des plaintes pénales qu'elle avait déposées à l'encontre du recourant, et que dans un courrier du 31 mars 2017, le recourant exposait par l'intermédiaire de son conseil que la plaignante l'injuriait, l'appelait très régulièrement et n'avait aucunement peur de lui.
2.1. Aux termes de l'art. 427 al. 2 CPP, en cas d'infractions poursuivies sur plainte, les frais de procédure peuvent être mis à la charge de la partie plaignante ou du plaignant qui, ayant agi de manière téméraire ou par négligence grave, a entravé le bon déroulement de la procdure ou rendu celle-ci plus difficile lorsque la procédure est classée ou le prévenu acquitté (let. a) et lorsque le prévenu n'est pas astreint au paiement des frais conformément à l'art. 426 al. 2 CPP (let. b).
Les conditions énumérées aux let. a et b doivent être réalisées cumulativement (DUPUIS ET AL., Petit commentaire du Code pénal, 2e éd. 2017, n° 13 ad art. 427 CPP et la référence citée).
2.2. La cour cantonale a examiné l'application de l'art. 426 al. 2 CPP, lequel prévoit que lorsque la procédure fait l'objet d'une ordonnance de classement ou que le prévenu est acquitté, tout ou partie des frais de procédure peuvent être mis à sa charge s'il a, de manière illicite et fautive, provoqué l'ouverture de la procédure ou rendu plus difficile la conduite de celle-ci. Elle a considéré que le recourant avait manqué à l'interdiction générale de nuire à autrui en menaçant sa compagne et avait violé l'art. 28 CC en l'insultant, faits qu'il avait reconnu. Il s'était également excusé pour le cas où il lui aurait saisi le cou, de sorte qu'une norme de comportement protégeant la personnalité de la plaignante pourrait également entrer en considération à cet égard. Dans ces circonstances, son comportement fautif, contraire au droit civil, avait clairement été à l'origine de la procédure pénale. Un tel comportement était de nature à faire naître, selon le cours ordinaire des choses et l'expérience de la vie, le soupçon d'infractions justifiant l'ouverture d'une enquête pénale. Le recourant avait donc illicitement et fautivement provoqué l'ouverture de la procédure pénale, de sorte que les frais pouvaient être mis à sa charge, sans qu'il soit nécessaire d'examiner si, par son comportement durant l'instruction, il aurait, aussi, rendu celle-ci plus difficile.
2.3. Le recourant n'élève aucun critique à l'encontre des développements de la cour cantonale conduisant à l'application de l'art. 426 al. 2 CPP. Dès lors que le recourant était astreint au paiement des frais conformément à l'art. 426 al. 2 CPP, l'une des conditions cumulatives de l'art. 427 al. 2 CPP n'était pas remplie. Les faits invoqués par le recourant en rapport avec le comportement de la plaignante sont donc sans influence sur le sort de la cause (art. 97 al. 1 LTF).
Enfin, s'il eût sans doute été préférable, du point de vue de la clarté, que la cour cantonale rappelle que l'application de l'art. 426 al. 2 CPP exclut celle de l'art. 427 al. 2 CPP, on ne saurait pour autant lui reprocher un défaut de motivation constitutif d'une violation du droit d'être entendu. En effet, les explications de la cour cantonale en lien avec l'examen de l'art. 426 al. 2 CPP permettaient au recourant, assisté d'un conseil juridique, de comprendre pourquoi l'art. 427 al. 2 CPP n'entrait pas en considération.
3.
Le recourant reproche à la cour cantonale de ne pas avoir constaté qu'il avait renoncé à une indemnité pour son tort moral au sens de l'art. 429 al. 1 let. c CPP.
Il invoque également une violation de son droit d'être entendu, la cour cantonale n'ayant pas examiné son grief mais l'ayant, à tort, déclaré sans objet. En réalité, ce reproche rejoint sa critique sur le fond.
3.1. La cour cantonale a considéré que pour ce qui était de l'art. 429 CPP, au vu de l'issue du recours, à savoir la mise à sa charge des frais de procédure, la conclusion du recourant était sans objet, qu'il ait ou non informé le ministère public de sa renonciation à l'indemnité de procédure.
3.2. Le recourant ne critique pas l'analyse de la cour cantonale en tant qu'elle déduit de l'application de l'art. 426 al. 2 CPP, à savoir la mise à sa charge des frais de procédure, qu'une indemnité pour tort moral au sens de l'art. 429 al. 1 let. c CPP n'entrait pas en ligne de compte (cf. art. 430 al. 1 let. a CPP). Il se limite à faire valoir que dans la mesure où les dispositions légales relatives aux prévenus irresponsables lui sont applicables et que les frais ne peuvent pas être mis à sa charge, la question de la renonciation à une indemnité pour tort moral en raison de la détention injustifiée " est à nouveau ouverte ". Or, ses griefs à l'encontre de la mise à sa charge des frais ont été rejetés (consid. 1 ci-dessus), de sorte que son argumentation tombe à faux. Son grief doit dès lors être écarté.
4.
Le recourant fait grief à la cour cantonale de ne pas avoir statué sur l'indemnité de son conseil d'office pour la procédure de recours.
4.1. Selon la jurisprudence constante, le prévenu n'a pas d'intérêt juridiquement protégé à obtenir l'augmentation de l'indemnisation fixée en faveur de son conseil d'office (arrêts 6B_178/2018 du 21 février 2018 consid. 3; 6B_451/2016 du 8 février 2017 consid. 2.4, SJ 2017 I 340; 6B_511/2016 du 4 août 2016 consid. 5.3.1; 6B_1017/2014 du 3 novembre 2015 consid. 4; 6B_586/2013 du 1er mai 2014 consid. 3.3). Il en va a fortiori de même lorsqu'il est reproché à l'autorité de ne pas avoir statué sur l'indemnisation du conseil d'office.
4.2. En l'espèce, il ressort de l'en-tête des conclusions que celles-ci sont formulées par " X._ ", au nom duquel l'ensemble du mémoire de recours a été adressé au Tribunal fédéral. Il s'ensuit qu'il n'apparaît pas que le conseil du recourant aurait recouru en son propre nom sur la question de son indemnité. Le grief est donc irrecevable, le recourant n'ayant pas la qualité pour recourir en rapport avec l'indemnisation de son conseil. Au surplus, selon l'art. 135 al. 3 let. b CPP, la compétence pour statuer sur le recours du défenseur d'office en ce qui concerne son indemnité pour la procédure de recours appartient au Tribunal pénal fédéral. Le conseil du recourant aurait donc dû former un recours en son nom devant cette autorité.
5.
Sur le vu de ce qui précède, il y a lieu de rejeter le recours dans la mesure où il est recevable. Il était d'emblée dénué de chances de succès. L'assistance judiciaire doit être refusée (art. 64 al. 1 LTF). Le recourant supporte les frais de la cause, qui seront fixés en tenant compte de sa situation économique, qui n'apparaît pas favorable (art. 65 al. 2 et 66 al. 1 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté dans la mesure où il est recevable.
2.
La demande d'assistance judiciaire est rejetée.
3.
Les frais judiciaires, arrêtés à 1200 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties et à la Cour de justice de la République et canton de Genève, Chambre pénale de recours.
Lausanne, le 30 mai 2018
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Musy