Faits : A. Par jugement du 24 mai 2012, le Tribunal de police de l'arrondissement de La Broye et du Nord vaudois a condamné X._ pour violation par négligence de son devoir d'assistance et d'éducation et enlèvement de mineur à une peine pécuniaire de septante-cinq jours-amende à 20 fr. le jour, sous déduction de la détention préventive subie. B. B.a. Par jugement du 13 février 2013, la Cour d'appel pénale du Tribunal cantonal vaudois a partiellement admis l'appel formé par X._ en ce sens qu'elle a réduit la peine pécuniaire à soixante jours-amende à 10 fr. le jour et suspendu l'exécution de la peine pendant trois ans. Sur recours en matière pénale de X._, le Tribunal fédéral a, par arrêt du 29 octobre 2013, annulé le jugement attaqué et renvoyé la cause à l'autorité cantonale pour qu'elle libère X._ de la prévention de violation du devoir d'assistance et d'éducation et fixe une nouvelle peine (arrêt 6B_457/2013). B.b. Par jugement du 31 mars 2014, la Cour d'appel pénale du Tribunal cantonal vaudois a partiellement admis l'appel de X._ en ce sens qu'elle l'a libérée du chef d'accusation de violation du devoir d'assistance et d'éducation et réduit la peine à quarante-cinq jours-amende, maintenant pour le surplus le montant du jour-amende à 10 fr. et le sursis pendant trois ans. Elle lui a accordé une indemnité au sens de l'art. 429 al. 1 let. a CPP à raison de 520 fr. C. Contre ce dernier jugement, X._ dépose un recours en matière pénale devant le Tribunal fédéral. Elle conclut, principalement, à la réforme du jugement attaqué en ce sens qu'une indemnité de 949 fr., TVA et débours compris, lui est allouée pour ses frais de défense, à la charge de l'Etat. Subsidiairement, elle conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause à l'autorité cantonale afin qu'elle rende une nouvelle décision. En outre, elle sollicite l'assistance judiciaire. Invités à se déterminer, la cour cantonale et le Ministère public vaudois y ont renoncé. 