Faits :
A.
Par ordonnance du 4 juillet 2018, le Tribunal de police du Littoral et du Val-de-Travers a révoqué le sursis assortissant la peine privative de liberté de 8 mois prononcée par jugement du 4 juillet 2013 du même tribunal à l'encontre de X._, peine dont il a ordonné l'exécution.
B.
Par arrêt du 11 septembre 2018, l'autorité de recours en matière pénale du Tribunal cantonal neuchâtelois a rejeté le recours formé par X._ contre cette ordonnance.
En substance, elle a retenu les faits suivants.
B.a. Par jugement du 4 juillet 2013, le Tribunal de police du Littoral et du Val-de-Travers a condamné X._ à une peine privative de liberté de 8 mois avec sursis pendant 5 ans, sursis conditionné à des règles de conduite, à savoir l'obligation de suivre une assistance de probation, d'effectuer des recherches d'emploi actives ou d'intégrer un programme d'occupation et, enfin, de se soumettre de manière régulière à un traitement ambulatoire auprès du Centre neuchâtelois de psychiatrie. Le tribunal de police a en outre révoqué les sursis accordés à X._ les 21 juillet et 31 octobre 2011.
B.b. Le 18 décembre 2015, le service de probation a informé le tribunal de police que l'intéressé ne s'était pas présenté à trois convocations, se soustrayant ainsi à l'assistance de probation ordonnée. En janvier 2016, la juge compétente a renoncé à infliger un avertissement formel à X._, qu'elle a toutefois rappelé à ses obligations. Ce dernier avait alors déclaré qu'il serait incarcéré pour une durée de 10 mois à compter du 1er février 2016; il a ensuite dû subir une peine de 150 jours de privation de liberté supplémentaires, infligés par ordonnance pénale du ministère public du 4 avril 2016, ce qui a impliqué son incarcération jusqu'au 23 mai 2017.
B.c. Le 4 juillet 2017, le service de probation a fait savoir à la juge que X._ ne s'était pas présenté à sa convocation du 6 juin 2017. X._ ne s'est en outre pas rendu à une audience fixée au 28 février 2018, à laquelle il avait été dûment cité à comparaître. Par ordonnance du 28 février 2018, le tribunal de police a révoqué le sursis accordé à l'intéressé par son jugement du 4 juillet 2013 et a ordonné l'exécution de la peine privative de liberté au motif que le condamné s'était systématiquement soustrait au suivi de probation et n'avait pas respecté les conditions assortissant le sursis.
B.d. Par arrêt du 25 mai 2018, l'autorité de recours en matière pénale du Tribunal cantonal neuchâtelois a annulé l'ordonnance du 28 février 2018 et renvoyé la cause au tribunal de police pour nouvelle décision.
A la suite de cet arrêt, la juge du tribunal de police a, par lettre du 31 mai 2018, fait savoir à l'avocat de X._ que vu la proximité de l'échéance du délai d'épreuve, au 4 juillet 2018, elle renonçait à convoquer une nouvelle fois l'intéressé et que la procédure se déroulerait dès lors par écrit; en date du 4 juillet 2018, le tribunal a rendu l'ordonnance révoquant le sursis.
C.
X._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt cantonal du 11 septembre 2018. Il conclut, avec suite de frais et dépens, principalement à ce que la cour de céans annule l'arrêt attaqué et renonce à révoquer le sursis. A titre subsidiaire, il conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause à la cour cantonale pour nouvelle décision.
D.
Invité à présenter des observations, le Ministère public s'en est remis aux considérants de la décision entreprise et a conclu au rejet du recours dans la mesure de sa recevabilité. Pour sa part, la cour cantonale n'a pas déposé de déterminations dans le délai qui lui avait été imparti à cet effet.
Considérant en droit :
1.
Le recourant reproche à la cour cantonale d'avoir admis que l'autorité de première instance, qui avait ordonné des débats avant sa première ordonnance datée du 28 février 2018, pouvait poursuivre la procédure par écrit sans avoir au préalable organisé une seconde audience conformément à l'art. 366 al. 1 CPP.
1.1. La révocation d'un sursis en application de l'art. 95 al. 5 CP constitue une décision judiciaire ultérieure indépendante, à laquelle s'appliquent les règles des art. 363 ss CPP. Conformément à l'art. 364 al. 4 CPP, le tribunal doit donner à la personne concernée l'occasion de s'exprimer sur les décisions envisagées. Il statue sur la base du dossier, mais peut aussi ordonner des débats (art. 365 al. 1 CPP).
Conformément à cette dernière disposition, la règle est la procédure écrite; le tribunal a toutefois la possibilité d'ordonner des débats. Tel sera en principe le cas lorsqu'une audition du condamné s'impose vu l'état du dossier et compte tenu des conséquences probables de la procédure pour l'intéressé ou encore lorsque l'administration de quelques preuves en contradictoire s'avère utile à une parfaite connaissance du dossier, par exemple en cas de contradictions entre certaines pièces (voir MOREILLON/PAREIN-REYMOND, Petit commentaire du code de procédure pénale, 2e éd. 2016, n° 3 ad art. 365 CPP; MICHEL PERRIN, in Commentaire romand, Code de procédure pénale, 2011, n° 2 ad art. 365 CPP). Dans un cas de prolongation d'une mesure institutionnelle, le Tribunal fédéral a jugé que la procédure écrite ne sera souvent pas suffisante s'agissant d'une décision ayant un tel impact sur la liberté de l'intéressé et qui suppose un pronostic concernant les perspectives de traitement et la dangerosité, ce qui implique que certains éléments de faits soient éclaircis. Il a relevé que dans ce contexte l'impression personnelle faite par l'intéressé est primordiale, de sorte qu'une décision des autorités cantonales de renoncer à la procédure orale doit être motivée et expliquée par des circonstances particulières, qui justifient que l'on renonce à entendre l'intéressé (voir arrêt 6B_799/2017 du 20 décembre 2017, consid. 2.3). Cette approche n'est pas directement transposable en matière de révocation de sursis mais donne néanmoins un éclairage pertinent.
1.2. Selon le recourant, une audience était indispensable. Il fait essentiellement valoir que l'arrêt attaqué mentionnerait certaines lacunes du dossier, soulignant notamment son absence de prise de position formelle sur la poursuite d'un traitement ambulatoire, sur les raisons de son retour en Suisse ou encore sur ses projets de vie.
1.3. Eu égard aux principes exposés dans l'arrêt 6B_799/2017 précité, la cour cantonale ne pouvait pas statuer sans débats au motif que le droit d'être entendu du condamné avait été respecté et que le mandataire de ce dernier n'avait pas formellement sollicité une nouvelle audience et n'avait pas soutenu qu'un interrogatoire de son client était susceptible de peser dans l'appréciation du tribunal. Compte tenu des conséquences de la procédure pour l'intéressé, à savoir une privation de liberté de plusieurs mois, et de l'importance de sa comparution devant l'autorité, elle devait faire usage de la possibilité offerte par l'art. 365 al. 1 CPP d'ordonner des débats. En conséquence, le recours doit être admis sur ce point, le jugement attaqué annulé et la cause renvoyée à l'autorité cantonale afin qu'elle reprenne la procédure.
1.4. Il y a lieu de relever dans ce contexte que le recourant demande à être mis au bénéfice de l'art. 366 al. 1 CPP, qui régit la procédure par défaut.
La procédure en cas de décisions judiciaires ultérieures des art. 363 ss CPP institue, aux art. 364 et 365 CPP, un régime spécifique en ce qui concerne la procédure et la décision à rendre. Pour le surplus, en l'absence de règles spéciales les dispositions générales du CPP s'appliquent (MOREILLON/PAREIN-REYMOND, op. cit., n° 3 ad art. 364 CPP; MICHEL PERRIN, op. cit., n° 5 et 6 ad art. 364 CPP; SCHMID/ JOSITSCH, Schweizerische Strafprozessordnung, Praxiskommentar, 3e éd. 2018, n° 2 ad art. 365 CPP; voir aussi SCHWARZENEGGER, in Donatsch/Hansjakob/Lieber [éd.], Kommentar zur Schweizerischen Strafprozessordnung [StPO], 2e éd. 2014, n° 1 ad art. 365 CPP). Ainsi, en cas d'absence de l'intéressé, la procédure par défaut doit être mise en oeuvre, pour le moins lorsque la tenue de débats s'imposait en application des principes exposés au consid. 1.1 ci-dessus (voir, SCHWARZENEGGER, op. cit., n° 13 ad art. 366 CPP; SCHMID/ JOSITSCH, Handbuch des schweizerischen Strafprozessrechts, 3e éd. 2017, n° 1397 note 126).
2. Le recourant reproche à la cour cantonale d'avoir violé l'art. 95 CP en révoquant le sursis qui lui avait été accordé par jugement du 4 juillet 2013.
Dès lors que la cause doit être renvoyée à l'autorité cantonale pour qu'elle statue à nouveau, il n'y a pas lieu de traiter ce grief à ce stade de la procédure.
3.
Le recours doit être admis, l'arrêt attaqué annulé et la cause renvoyée à la cour cantonale pour nouvelle décision. Le recourant, qui obtient gain de cause, ne supportera pas de frais judiciaires (art. 66 al. 1 LTF) et a droit à des dépens à la charge du canton de Neuchâtel (art. 68 al. 1 LTF). La demande d'assistance judiciaire devient ainsi sans objet. Enfin, la cause étant tranchée, la demande d'effet suspensif devient elle aussi sans objet.
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 Neuchâtel versera au mandataire du recourant une indemnité de 3000 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 à l'Autorité de recours en matière pénale du Tribunal cantonal de la République et canton de Neuchâtel.
Lausanne, le 22 février 2019
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Paquier-Boinay