Faits : A. Par jugement du 24 août 2012, le Tribunal criminel du Littoral et du Val-de-Travers a condamné X._ pour crimes, délits et contraventions à la LStup, à une peine privative de liberté de 20 mois et a révoqué les sursis accordés le 21 novembre 2005 par le Verhöramt Nidwalden et le 20 novembre 2008 par le Bezirksgericht Zürich. Deux coprévenus, soit A._ et B._, ont également été condamnés, dans le cadre de la même affaire, pour des infractions à la LStup. Les faits à l'origine de cette condamnation sont en substance les suivants. Il est reproché à X._ d'avoir, avec B._, cultivé, dans une halle à Bülach, du chanvre, produisant 18 kilos de marijuana et d'en avoir vendu 13 kilos, réalisant un chiffre d'affaires de 77'800 fr. et un bénéfice de 20'000 francs. Il lui est également reproché d'avoir consommé une quantité indéterminée de marijuana. Le 19 décembre 2011, X._ a été appréhendé à la Rehaklinik de Bellikon et conduit à Neuchâtel où il a été entendu par la police, sans la présence d'un avocat. Lors de son interrogatoire, il a reconnu les faits qui lui sont reprochés. En revanche, lors de l'audience de jugement du 24 août 2012, il a modifié ses premières déclarations et a contesté intégralement les faits reprochés, sous réserve de sa consommation de marijuana. B. En date du 8 juillet 2013, la Cour pénale du Tribunal cantonal neuchâtelois a rejeté l'appel formé par X._ contre ce jugement. C. Par arrêt 6B_883/2013 du 17 février 2014, le Tribunal fédéral a admis le recours formé par X._ contre le jugement de la Cour pénale, qu'il a annulé, renvoyant la cause à cette autorité pour qu'elle statue à nouveau. D. A la suite de ce renvoi, la Cour pénale du Tribunal cantonal neuchâtelois a rendu un nouveau jugement en date du 10 juin 2014, par lequel elle rejette l'appel de X._ et confirme le dispositif du jugement du Tribunal criminel du Littoral et du Val-de-Travers du 24 août 2012. E. X._ forme un recours en matière pénale au Tribunal fédéral contre ce jugement. Il conclut, avec suite de frais et dépens, à l'annulation du jugement attaqué et au renvoi de la cause à l'autorité cantonale pour qu'elle statue à nouveau. Il sollicite en outre l'assistance judiciaire. F. La cour cantonale a renoncé à présenter des observations. Pour sa part, le Ministère public a conclu au rejet du recours. Enfin, le recourant a confirmé les conclusions de son recours.