Faits :
A.
A la suite d'un échange de plaintes entre les ex-époux X._ et A._, le Ministère public a rendu, le 12 août 2016, deux ordonnances. Par la première, il a ordonné le classement de la procédure pénale dirigée d'une part contre A._ pour voies de fait qualifiées, injure et menaces qualifiées et d'autre part contre X._ pour injure (I); il a par ailleurs dit qu'aucune indemnité fondée sur les art. 429 al. 1 let. a et 433 CPP ne serait allouée à X._ (II). La seconde ordonnance reconnaît A._ coupable de menaces qualifiées, le condamne à une peine pécuniaire assortie du sursis ainsi qu'à une amende et met à sa charge un tiers des frais de la procédure.
B.
Par arrêt du 14 septembre 2016, la Chambre des recours pénale du Tribunal cantonal vaudois a admis partiellement le recours interjeté par X._ contre l'ordonnance de classement, dont elle a réformé le chiffre II du dispositif en ce sens qu'aucune indemnité fondée sur l'art. 429 al. 1 let. a CPP n'est allouée à X._. Les frais d'arrêt (par 720 fr.) ont été mis par moitié à la charge de X._ et par moitié à la charge de A._. Enfin, une indemnité (437 fr. 40), correspondant à une heure et demie d'activité d'avocat au tarif horaire de 270 fr., a été allouée à X._ pour la procédure de recours et mise à la charge de l'Etat.
C.
X._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt de la Chambre des recours pénale. Elle conclut, avec suite de frais et dépens, principalement à l'annulation de l'arrêt attaqué et au renvoi de la cause à l'autorité cantonale pour qu'elle statue à nouveau et subsidiairement à la réforme dudit arrêt en ce sens qu'aucune partie des frais d'arrêt n'est mise à sa charge et qu'une indemnité de 567 fr. lui est allouée, à la charge de l'Etat, pour ses frais de conseil pour la procédure cantonale de recours. Elle sollicite par ailleurs l'assistance judiciaire.

Considérant en droit :
1.
La recourante conteste les frais mis à sa charge et l'indemnité allouée pour son avocat de choix en instance de recours. Dans cette mesure, elle a qualité pour recourir (art. 81 al. 1 let. b LTF).
2.
La recourante se plaint d'une violation des art. 428 al. 1 et 2 ainsi que 433 CPP. Elle prétend avoir obtenu entièrement gain de cause devant la cour cantonale de sorte qu'aucune partie des frais de la procédure de recours ne devait être mise à sa charge.
2.1. L'art. 112 al. 1 let. b LTF exige que les décisions qui peuvent faire l'objet d'un recours devant le Tribunal fédéral contiennent les motifs déterminants de fait et de droit, notamment les dispositions légales appliquées. Une décision doit ainsi clairement exposer sur quel état de fait le tribunal s'est fondé et quelles réflexions juridiques il en a tiré. Le Tribunal fédéral peut examiner d'office si la décision attaquée satisfait aux exigences de l'art. 112 al. 1 LTF (cf. art. 106 al. 1 1 LTF); si ce n'est pas le cas, il peut soit la renvoyer à l'autorité cantonale en invitant celle-ci à la parfaire, soit l'annuler (art. 112 al. 3 LTF).
2.2. Dans l'arrêt attaqué, la cour cantonale note en premier lieu que le Ministère public a valablement statué sur le sort de l'indemnité réclamée par la recourante au titre de l'art. 429 al. 1 let. a CPP et relève que cet aspect de la décision n'est pas attaqué. Elle admet en revanche que c'est à tort que cette autorité a statué dans l'ordonnance de classement sur l'indemnité réclamée par la recourante au titre de l'art. 433 al. 1 CPP, cette question devant être traitée dans le contexte de l'ordonnance pénale rendue simultanément. Elle en conclut que le recours doit être partiellement admis, sans toutefois indiquer les raisons pour lesquelles elle ne l'admet que partiellement alors qu'elle donne raison à la recourante sur le seul point soulevé par cette dernière et examiné par la cour cantonale. On ne saisit ainsi pas sur quelle base la cour a mis des frais à la charge de la recourante ni comment elle a fixé l'indemnité pour les frais de défense.
La motivation de l'arrêt attaqué ne permet pas de vérifier la bonne application du droit fédéral. Par conséquent, il doit être annulé en application de l'art. 112 LTF et la cause renvoyée à la cour cantonale pour qu'elle rende une nouvelle décision.
3.
Le recours doit être admis. Il est statué sans qu'il soit nécessaire de procéder à un échange d'écritures préalable (voir <ref-ruling> consid. 3.4.2 p. 296).
4.
La recourante qui obtient gain de cause ne supportera pas de frais judiciaires (art. 66 al. 1 LTF). Elle peut par ailleurs prétendre à des dépens à la charge du canton de Vaud (art. 68 al. 1 LTF), ce qui rend sans objet la demande d'assistance judiciaire (art. 64 al. 2 LTF). Les dépens sont fixés en considération de l'enjeu du recours et de la brièveté de l'écriture déposée.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis, l'arrêt attaqué est annulé et la cause est renvoyée à la cour cantonale pour nouvelle décision.
2.
Il n'est pas perçu de frais judiciaires.
3.
Le canton de Vaud versera au mandataire de la recourante une indemnité de 500 fr. à titre de dépens pour la procédure devant le Tribunal fédéral.
4.
Le présent arrêt est communiqué aux parties et à la Chambre des recours pénale du Tribunal cantonal vaudois.
Lausanne, le 4 septembre 2017
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Paquier-Boinay