Faits :
A.
Par jugement du 18 avril 2013, le Tribunal de police genevois a acquitté X._ du chef de viol. Il l'a en revanche reconnu coupable de lésions corporelles simples de peu de gravité, de menaces et d'infraction à la loi fédérale sur les armes. Il l'a condamné à une peine pécuniaire de 90 jours-amende à 30 fr., avec sursis pendant 3 ans, et à une amende de 500 francs. Il l'a par ailleurs condamné à verser à A._ les sommes de 2'000 fr. et 8'000 fr. à titre de réparation du tort moral respectivement de participation à ses honoraires.
Les faits à l'origine de cette condamnation sont en substance les suivants.
Le 20 novembre 2010, la police est intervenue à la suite d'une requête concernant une femme menacée par son compagnon. Les agents ont constaté que A._ s'était réfugiée chez son voisin. Elle a indiqué que son compagnon, X._, était en possession de plusieurs armes à feu et qu'il avait menacé d'en faire usage à travers la porte si la police intervenait. Celui-ci a toutefois ouvert la porte et a pu être maîtrisé alors que le groupe d'intervention se mettait en place. Lors de la fouille de l'appartement, 8 fusils, 11 armes de poing et 4 armes blanches ont été saisis, ainsi que de la munition.
X._ a admis qu'étant énervé il avait jeté le téléphone de sa compagne à terre et sa carte SIM par la fenêtre. Il a en revanche contesté avoir menacé de tuer sa compagne et lui avoir dit qu'il tirerait sur la police si elle intervenait. Il a par ailleurs expliqué que les armes retrouvées à son domicile lui avaient été remises par un ami qui s'en débarrassait et qu'il ignorait qu'il devait les déclarer.
A._ a exposé que dans le contexte d'une dispute X._ s'était mis à hurler et à l'injurier, la traitant notamment de « pute, salope, chèvre, vache »; il avait également menacé de la tuer en faisant un geste de haut en bas, comme s'il tenait un couteau et voulait l'éviscérer. Il l'avait ensuite giflée, battue à coups de poing et de pied puis saisie par les cheveux pour lui frapper la tête contre un mur.
B.
En date du 3 avril 2014, la Chambre pénale d'appel et de révision de la Cour de justice genevoise a rejeté l'appel et l'appel joint formés par X._ respectivement A._ contre ce jugement.
C.
X._ forme un recours en matière pénale contre l'arrêt de la Chambre pénale d'appel et de révision. Il conclut, principalement, à l'annulation de l'arrêt attaqué et à son acquittement ainsi qu'au renvoi de la cause à la cour cantonale pour qu'elle statue sur la question de l'indemnisation qui lui est due. Subsidiairement, il conclut au renvoi de la cause à la cour cantonale pour nouvelle décision. Il sollicite par ailleurs l'assistance judiciaire et l'effet suspensif, qui a été accordé à titre superprovisoire. Invitée à se prononcer sur la requête d'effet suspensif, la cour cantonale s'en rapporte à l'appréciation du Tribunal fédéral; le Ministère public ne s'est pas déterminé.

Considérant en droit :
1.
Le recourant se plaint d'une violation des art. 9 et 32 Cst. ainsi que de l'<ref-law>. Invoquant la présomption d'innocence ainsi que l'interdiction de l'arbitraire, il soutient qu'au vu des éléments de preuve dont disposait la cour cantonale, elle ne pouvait qu'éprouver un doute insurmontable.
1.1. Dans le recours en matière pénale, les constatations de fait de la décision entreprise lient le Tribunal fédéral (<ref-law>), sous les réserves découlant des art. 97 al. 1 et 105 al. 2 LTF, soit pour l'essentiel de l'arbitraire dans la constatation des faits. La notion d'arbitraire a été rappelée récemment dans l'<ref-ruling> consid. 6.1 p. 379, auquel on peut se référer. En bref, une décision n'est pas arbitraire du seul fait qu'elle apparaît discutable ou même critiquable; il faut qu'elle soit manifestement insoutenable, et cela non seulement dans sa motivation mais aussi dans son résultat.
Lorsque l'autorité cantonale a forgé sa conviction quant aux faits sur la base d'un ensemble d'éléments ou d'indices convergents, il ne suffit pas que l'un ou l'autre de ceux-ci ou même chacun d'eux pris isolément soit à lui seul insuffisant. L'appréciation des preuves doit en effet être examinée dans son ensemble. Il n'y a ainsi pas d'arbitraire si l'état de fait retenu pouvait être déduit de manière soutenable du rapprochement de divers éléments ou indices. De même, il n'y a pas d'arbitraire du seul fait qu'un ou plusieurs arguments corroboratifs sont fragiles, si la solution retenue peut être justifiée de façon soutenable par un ou plusieurs arguments de nature à emporter la conviction (arrêt 6B_171/2014 du 2 septembre 2014 et les références citées).
Telle qu'elle est invoquée, à savoir comme règle de l'appréciation des preuves, la présomption d'innocence interdit au juge de se déclarer convaincu d'un état de fait défavorable à l'accusé lorsqu'une appréciation objective des éléments de preuve recueillis laisse subsister un doute sérieux et insurmontable quant à l'existence de cet état de fait (<ref-ruling> consid. 2a p. 41 et les arrêts cités). Le Tribunal fédéral ne revoit que sous l'angle de l'arbitraire la question de savoir si le juge aurait dû éprouver un doute, c'est-à-dire celle de l'appréciation des preuves (<ref-ruling> consid. 7 p. 82; <ref-ruling> consid. 2 p. 40 ss; <ref-ruling> consid. 4 p. 211; <ref-ruling> consid. 2d p. 37s.).
Le grief d'arbitraire doit être invoqué et motivé de manière précise (<ref-law>). Le recourant doit exposer, de manière détaillée et pièces à l'appui, que les faits retenus l'ont été d'une manière absolument inadmissible, et non seulement discutable ou critiquable. Il ne saurait se borner à plaider à nouveau sa cause, contester les faits retenus ou rediscuter la manière dont ils ont été établis comme s'il s'adressait à une juridiction d'appel (<ref-ruling>). Le Tribunal fédéral n'entre pas en matière sur les critiques de nature appellatoire (<ref-ruling> consid. 10.1 p. 445; <ref-ruling> consid. 4.2.3 p. 5; <ref-ruling> consid. 5.1 p. 356 ; <ref-ruling> consid. 6 p. 397).
1.2. La cour cantonale a fondé sa conviction sur la conjonction de divers éléments de preuve. Il s'agit en premier lieu du témoignage du voisin de la victime, chez qui elle est allée se réfugier. Il a déclaré qu'elle était très nerveuse, peinait à trouver ses mots, avait les larmes aux yeux et était choquée; elle lui a confié avoir mal aux côtes car son compagnon l'avait frappée. La cour cantonale a par ailleurs noté qu'il ressort d'une attestation de « Solidarité femmes », que la victime avait consultée dix jours avant les faits, qu'elle avait évoqué des violences psychologiques, verbales et physiques infligées par son compagnon à cinq reprises durant les deux dernières années. Par ailleurs, une psychothérapeute a notamment attesté qu'au cours de l'année 2009 elle avait suivi, dans le cadre d'une psychothérapie de soutien et d'un traitement par antidépresseurs, la victime qui vivait dans un climat de violence psychologique (insultes et menaces graves) instauré par son compagnon. La cour cantonale a, enfin, relevé que le recourant lui-même avait admis s'être énervé le soir en question, avoir jeté le natel de la victime par terre et sa carte SIM par la fenêtre et l'avoir traitée de « conne » et qu'il est établi qu'il avait fait un geste de la main comme s'il tenait un couteau et voulait l'éviscérer.
Les menaces et les injures imputées au recourant, qui ne sont pas remises en question par celui-ci, sont établies. Pour le surplus, le raisonnement de l'autorité cantonale est tout à fait cohérent et les points soulevés par le recourant, au demeurant par une argumentation largement de nature appellatoire et donc irrecevable, ne suffisent pas à le faire apparaître arbitraire pour le moins dans son résultat.
Le recourant soutient que l'absence de traces des coups au visage prétendument reçus par la victime et ce tant une heure après les faits que cinq jours plus tard, suffirait à faire douter de la crédibilité de la version de cette dernière; il fait valoir que l'absence de rougeurs sur le visage de la victime le soir des faits permet d'exclure l'hypothèse qu'elle ait reçu gifle ou coup de poing au visage comme elle le prétend. La critique du recourant sur ce point est de nature largement appellatoire et il ne montre pas que l'absence de traces sur le visage de la victime exclurait totalement la possibilité qu'elle ait été frappée. Or il n'est pas inconcevable que certains coups aient été infligés à la victime sans toutefois laisser de traces. Par ailleurs, l'absence de certificat médical établissant les sévices subis par la victime ne suffit pas à mettre en doute l'existence de ceux-ci.
Le recourant prétend que la cour cantonale ne pouvait pas prendre en compte les attestations émanant de « Solidarité femmes » pour l'une et de la psychothérapeute de la victime pour l'autre car elles ne rapportent que les faits relatés par celle-ci et sont de surcroît contradictoires entre elles. L'attestation de « Solidarité femmes » fait état de violences psychologiques, verbales et physiques à cinq reprises au cours des deux années précédant la consultation, qui a débuté le 2 novembre 2010. La psychothérapeute pour sa part mentionne que la victime a suivi une psychothérapie de soutien et un traitement médicamenteux par antidépresseurs durant l'année 2009 car elle vivait dans un climat de violence psychologique et qu'elle avait repris ce traitement à la suite de son départ en foyer. C'est en vain que le recourant cherche des contradictions entre ces deux attestations; elles concordent au contraire dans la mesure où toutes deux mettent en lumière le climat de violence qu'il a imposé à sa compagne. D'une part le texte de l'attestation n'exclut pas que les violences physiques aient eu lieu au cours de l'année 2010, soit après la fin du traitement suivi auprès de la psychothérapeute. D'autre part, il est tout à fait concevable que la compagne du recourant n'ait pas fait état des violences physiques qu'elle subissait. Il n'est en effet pas rare que, par honte notamment, des victimes ne parviennent pas, même face à des professionnels, à évoquer tous les sévices qui leur sont infligés. Le climat de violence tel qu'il ressort des deux attestations fait bien apparaître la version des faits de la victime plus crédible que celle du recourant.
Ce dernier cherche enfin à discréditer les déclarations de l'intimée en prétendant qu'elle a parlé à la police des armes qu'il détenait dans le seul but de le faire arrêter alors qu'elle savait pertinemment qu'elles ne représentaient aucune menace. Il ne ressort nullement de l'arrêt attaqué que l'intimée aurait à quelque moment que ce soit prétendu avoir vu le recourant manipuler les armes en question. Elle a uniquement prévenu la police qu'il était en possession d'armes et avait menacé d'en faire usage au travers de la porte en cas d'intervention. Ces déclarations ne sont pas contradictoires avec le fait que les armes en question n'ont été découvertes que lors de la fouille de l'appartement.
Enfin, c'est également en vain que le recourant conteste la constatation de la cour cantonale selon laquelle l'intimée n'aurait eu aucun profit à tirer de la présente procédure. Il n'appert en effet pas qu'elle aurait souhaité éloigner sa fille de lui et obtenir une réparation d'ordre pécuniaire. Cette situation apparaît comme la conséquence, non recherchée par l'intimée, des actes imputés au recourant. Mal fondé, le grief d'appréciation arbitraire des faits et de violation du principe « in dubio pro reo » doit être rejeté dans la mesure où il est recevable.
2.
Le recourant se plaint d'une violation de l'<ref-law>. Il soutient qu'il ne savait pas et ne pouvait pas savoir qu'il était tenu de déclarer les armes en sa possession, de sorte qu'il doit bénéficier de l'erreur sur l'illicéité et être acquitté sur ce point. Il invoque l'évolution de la loi fédérale sur les armes.
Aux termes de l'<ref-law>, quiconque ne sait ni ne peut savoir au moment d'agir que son comportement est illicite n'agit pas de manière coupable. Le juge atténue la peine si l'erreur était évitable.
Pour qu'il y ait erreur sur l'illicéité, il faut que l'auteur ne sache ni ne puisse savoir que son comportement est illicite (<ref-ruling> consid. 8.2 p. 27). L'auteur doit agir alors qu'il se croyait en droit de le faire (cf. <ref-ruling> consid. 3.1 p. 241). Il pense, à tort, que l'acte concret qu'il commet est conforme au droit. Déterminer ce que l'auteur d'une infraction a su, cru ou voulu et, en particulier, l'existence d'une erreur relève de l'établissement des faits (<ref-ruling> consid. 2.3.2 p. 156).
Les conséquences pénales d'une erreur sur l'illicéité dépendent de son caractère évitable ou inévitable. L'auteur qui commet une erreur inévitable est non coupable et doit être acquitté (art. 21, 1ère phrase, CP). Tel est le cas s'il a des raisons suffisantes de se croire en droit d'agir (<ref-ruling> consid. 2 p. 210). Une raison de se croire en droit d'agir est « suffisante » lorsqu'aucun reproche ne peut lui être adressé parce que son erreur provient de circonstances qui auraient pu induire en erreur tout homme consciencieux (<ref-ruling> consid. 4a p. 303; cf. FF 1999 p. 1814). En revanche, celui dont l'erreur sur l'illicéité est évitable commet une faute, mais sa culpabilité est diminuée. Il restera punissable, mais verra sa peine obligatoirement atténuée (art. 21, 2e phrase, CP; FF 1999 1814). L'erreur sera notamment considérée comme évitable lorsque l'auteur avait ou aurait dû avoir des doutes quant à l'illicéité de son comportement (<ref-ruling> consid. 5 p. 126) ou s'il a négligé de s'informer suffisamment alors qu'il savait qu'une réglementation juridique existait (<ref-ruling> consid. 5b p. 215). Savoir si une erreur était évitable ou non est une question de droit (cf. ATF 75 IV 150 consid. 3). La réglementation relative à l'erreur sur l'illicéité repose sur l'idée que le justiciable doit faire tout son possible pour connaître la loi et que son ignorance ne le protège que dans des cas exceptionnels (<ref-ruling> consid. 3.1 p. 241).
Il ressort de l'arrêt attaqué que le recourant avait, plusieurs années auparavant, obtenu un permis d'achat pour une arme à feu et qu'il savait par conséquent que la détention d'armes était soumise à une réglementation. La cour cantonale a par ailleurs relevé qu'il était au courant que ce premier permis d'achat ne le dispensait pas de déclarer les armes acquises ultérieurement.
Ces constatations de fait lient le Tribunal fédéral conformément à l'<ref-law> dès lors que le recourant ne les remet pas en question au moyen d'une argumentation satisfaisant aux exigences de motivation accrues déduites de l'<ref-law>. Dans ces circonstances, on pouvait pour le moins attendre du recourant qu'il se renseigne sur la nécessité d'entreprendre certaines démarches en relation avec sa détention de plusieurs armes. C'est donc sans violer le droit fédéral que la cour cantonale ne l'a pas mis au bénéfice de l'erreur sur l'illicéité.
3.
Le recourant soutient que l'indemnité de 8'000 fr. allouée à l'intimée pour ses frais de défense viole l'<ref-law> et que la cour cantonale ne pouvait, sauf à violer le droit fédéral, lui octroyer un quelconque montant à ce titre.
La question de l'indemnité pour les dépens de première instance n'a été traitée par la cour cantonale que dans le cadre de l'appel joint de l'intimée, par lequel celle-ci sollicitait, notamment, une augmentation du montant de cette indemnité. Aucun grief relatif à une réduction voire une suppression de cette dernière n'a été abordé par la cour cantonale. Le recourant ne se plaint d'aucun déni de justice de la part de la cour cantonale. Il n'y a dès lors pas lieu d'entrer en matière sur le grief, faute d'épuisement des instances cantonales (cf. <ref-law>).
4.
Le recours doit être rejeté dans la mesure où il est recevable. Comme les conclusions étaient vouées à l'échec, l'assistance judiciaire ne peut être accordée (<ref-law>). Le recourant, qui succombe, supportera les frais de justice (<ref-law>), dont le montant sera toutefois fixé en tenant compte de sa situation financière. Enfin, la cause étant ainsi tranchée, la demande d'effet suspensif devient sans objet.

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 à 800 fr., sont mis à la charge du recourant.
4.
Le présent arrêt est communiqué aux parties et à la Chambre pénale d'appel et de révision de la Cour de justice de la République et canton de Genève.
Lausanne, le 2 février 2015
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Paquier-Boinay