Faits :
A.
A.a. En janvier 2016, X._ venait d'acquérir trois garages mobiles qu'il avait commandés sur internet. Souhaitant les déplacer de B._ à C._ (VD), il a fait appel aux services de la société anonyme D._ AG, dont A._ était l'administrateur-président, moyennant le prix de 2200 fr. par garage, TVA en sus. Le transport a été effectué les 14 et 15 avril 2016.
Le 10 mai 2016, D._ AG a adressé à X._ une facture portant sur 7128 fr., avec un délai de 10 jours pour s'en acquitter. En dépit de courriers de rappels, de l'envoi d'un commandement de payer et de l'engagement oral de X._ à honorer la facture, celle-ci n'a pas été acquittée.
Le 23 décembre 2016, sur instructions de A._, trois employés de D._ AG se sont rendus à C._, ont emporté les garages et les ont déplacés au siège de la société, à E._ (FR).
A.b. Le même jour, X._ a déposé plainte pour vol.
A.c. Entendu par la police, A._ a déclaré qu'après avoir essayé de contacter téléphoniquement X._ à plusieurs reprises, il était finalement parvenu à l'atteindre vers la mi-décembre 2016. A cette occasion, il lui avait proposé de venir chercher les trois garages en guise de paiement, ce que le plaignant avait accepté.
Egalement entendu par la police, X._ a nié l'existence d'un arrangement avec A._, selon lequel il lui donnait les garages en contrepartie du paiement des frais de transport. Il a par ailleurs expliqué qu'il était sous le coup d'un sursis concordataire et que, durant ce sursis, soit jusqu'à la fin de l'année 2016, il ne pouvait pas effectuer de paiements. Il en avait informé A._ avant la conclusion du contrat, lequel avait néanmoins accepté d'effectuer le transport dans ces conditions.
B.
B.a. Par ordonnance pénale du 6 septembre 2017, le Ministère public de l'arrondissement du Nord vaudois a condamné A._ pour vol à une peine pécuniaire de 90 jours-amende, à 60 fr. l'unité, avec sursis pendant 2 ans.
A._ ayant formé opposition à cette ordonnance pénale, le Procureur a décidé de reprendre l'instruction en procédant notamment à l'audition des parties, X._, qui s'était trompé de date, n'ayant toutefois pas comparu. Les parties se sont également déterminées par écrit.
B.b. Par ordonnance du 26 février 2018, le ministère public a classé la procédure pénale ouverte contre A._ pour vol.
Par arrêt du 20 août 2018, la Chambre des recours pénale du Tribunal cantonal vaudois a rejeté le recours formé par X._ contre l'ordonnance de classement du 26 février 2018, qui a été confirmée.
En substance, elle a considéré qu'au contraire des dénégations du recourant, les déclarations de l'intimé étaient crédibles quant au fait que les garages mobiles avaient fait l'objet d'une dation en paiement (" datio in solutum ") en sa faveur, ce qui excluait, voire rendait très peu probable, sa condamnation.
C.
X._ forme un recours en matière pénale au Tribunal fédéral contre cet arrêt. Il conclut, avec suite de frais et dépens, principalement à sa réforme en ce sens que A._ doit être mis en accusation. Subsidiairement, il conclut à l'annulation de l'arrêt et au renvoi de la cause à la cour cantonale pour qu'elle statue à nouveau.
D.
Invités à se déterminer, la cour cantonale et le ministère public y ont renoncé et se sont référés à l'arrêt attaqué. Quant à A._, il a conclu au rejet du recours dans la mesure de sa recevabilité.
X._ a présenté des observations relatives à la réponse de A._.

Considérant en droit :
1.
Selon l'art. 81 al. 1 let. a et b ch. 5 LTF, la partie plaignante qui a participé à la procédure de dernière instance cantonale est habilitée à recourir au Tribunal fédéral, si la décision attaquée peut avoir des effets sur le jugement de ses prétentions civiles. Constituent de telles prétentions celles qui sont fondées sur le droit civil et doivent en conséquence être déduites ordinairement devant les tribunaux civils. Il s'agit principalement des prétentions en réparation du dommage et du tort moral au sens des <ref-law>. Selon l'<ref-law>, il incombe au recourant d'alléguer les faits qu'il considère comme propres à fonder sa qualité pour recourir (<ref-ruling> consid. 1.1 p. 4 et les références citées).
En l'espèce, le recourant a participé à la procédure cantonale en tant que partie plaignante et a pris une conclusion civile tendant à l'allocation d'un montant de 33'438 fr. correspondant au préjudice qu'il allègue avoir subi en raison du vol reproché à l'intimé. L'arrêt entrepris peut dès lors avoir une incidence sur ses prétentions civiles, de sorte que le recours est recevable au regard de l'art. 81 al. 1 let. b ch. 5 LTF.
2.
Le recourant reproche à la cour cantonale d'avoir établi les faits de manière arbitraire. Il invoque également une violation de l'<ref-law>.
2.1. Le Tribunal fédéral n'est pas une autorité d'appel, auprès de laquelle les faits pourraient être rediscutés librement. Il est lié par les constatations de fait de la décision entreprise (<ref-law>), à moins qu'elles n'aient été établies en violation du droit ou de manière manifestement inexacte au sens des art. 97 al. 1 et 105 al. 2 LTF, à savoir, pour l'essentiel, de façon arbitraire au sens de l'art. 9 Cst. 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 (<ref-ruling> consid. 1.1 p. 503; <ref-ruling> consid. 2.3.1 p. 244). En matière d'appréciation des preuves et d'établissement des faits, il n'y a arbitraire que lorsque l'autorité ne prend pas en compte, sans aucune raison sérieuse, un élément de preuve propre à modifier la décision, lorsqu'elle se trompe manifestement sur son sens et sa portée, ou encore lorsque, en se fondant sur les éléments recueillis, elle en tire des conclusions insoutenables (<ref-ruling> consid. 1.1 p. 503; <ref-ruling> consid. 2.3 p. 266 et les références citées). Le Tribunal fédéral n'entre ainsi pas en matière sur les critiques de nature appellatoire (<ref-ruling> consid. 2.4 p. 368).
2.2.
2.2.1. Aux termes de l'<ref-law>, le ministère public ordonne le classement de tout ou partie de la procédure lorsqu'aucun soupçon justifiant une mise en accusation n'est établi (let. a), lorsque les éléments constitutifs d'une infraction ne sont pas réunis (let. b), lorsque des faits justificatifs empêchent de retenir une infraction contre le prévenu (let. c), lorsqu'il est établi que certaines conditions à l'ouverture de l'action pénale ne peuvent pas être remplies ou que des empêchements de procéder sont apparus (let. d) ou lorsqu'on peut renoncer à toute poursuite ou à toute sanction en vertu de dispositions légales (let. e). L'<ref-law> prévoit encore deux autres motifs de classement exceptionnels (intérêt de la victime [let. a] ou consentement de celle-ci au classement [let. b]).
2.2.2. La décision de classer la procédure doit être prise en application du principe " in dubio pro duriore ". Ce principe vaut également pour l'autorité judiciaire chargée de l'examen d'une décision de classement. Il signifie qu'en règle générale, un classement ou une non-entrée en matière ne peut être prononcé par le ministère public que lorsqu'il apparaît clairement que les faits ne sont pas punissables ou que les conditions à la poursuite pénale ne sont pas remplies. Le ministère public et l'autorité de recours disposent, dans ce cadre, d'un pouvoir d'appréciation que le Tribunal fédéral revoit avec retenue. La procédure doit se poursuivre lorsqu'une condamnation apparaît plus vraisemblable qu'un acquittement ou lorsque les probabilités d'acquittement et de condamnation apparaissent équivalentes, en particulier en présence d'une infraction grave. En effet, en cas de doute s'agissant de la situation factuelle ou juridique, ce n'est pas à l'autorité d'instruction ou d'accusation mais au juge matériellement compétent qu'il appartient de se prononcer (ATF <ref-ruling> consid. 2.2.1 p. 243; <ref-ruling> consid. 4.1.2 p. 91 et les références citées). L'autorité de recours ne saurait ainsi confirmer un classement au seul motif qu'une condamnation n'apparaît pas plus probable qu'un acquittement (arrêts 6B_874/2017 du 18 avril 2018 consid. 5.1; 6B_1177/2017 du 16 avril 2018 consid. 2.1; 6B_1356/2016 du 5 janvier 2018 consid. 3.3.3).
Dans les procédures où l'accusation repose essentiellement sur les déclarations de la victime, auxquelles s'opposent celles du prévenu et lorsqu'il n'est pas possible d'estimer que certaines dépositions sont plus crédibles que d'autres, le principe " in dubio pro duriore " impose en règle générale que le prévenu soit mis en accusation (ATF <ref-ruling> consid. 2.2.2 p. 243 et les arrêts cités; arrêt 6B_874/2017 précité consid. 5.1). Cela vaut en particulier lorsqu'il s'agit de délits commis typiquement " entre quatre yeux " pour lesquels il n'existe souvent aucune preuve objective. Il peut toutefois être renoncé à une mise en accusation lorsque la partie plaignante fait des dépositions contradictoires, rendant ses accusations moins crédibles ou encore lorsqu'une condamnation apparaît au vu de l'ensemble des circonstances a priori improbable pour d'autres motifs (ATF <ref-ruling> consid. 2.2.2 p. 243; arrêt 6B_874/2017 précité consid. 5.1). En outre, face à des versions contradictoires des parties, il peut être exceptionnellement renoncé à une mise en accusation lorsqu'il n'est pas possible d'apprécier l'une ou l'autre version comme étant plus ou moins plausible et qu'aucun résultat n'est à escompter d'autres moyens de preuve (arrêts 6B_806/2015 du 1 er février 2016 consid. 2.3; 6B_1151/2014 du 16 décembre 2015 consid. 3.1).
Déterminer si l'autorité précédente a correctement compris la portée du principe " in dubio pro duriore " et s'est fondée sur une notion juridiquement correcte du " soupçon suffisant " visé par l'<ref-law> est une question de droit, soumis au libre examen du Tribunal fédéral. Le principe " in dubio pro duriore ", en tant que règle de droit, est notamment violé lorsque l'instance précédente a admis dans ses considérants un soupçon suffisant mais, pour des motifs ne concernant pas l'objet du litige et en violation de son pouvoir d'appréciation, n'a pas engagé l'accusation, lorsqu'il ressort des considérants de l'arrêt attaqué que l'autorité précédente a établi l'état de fait comme un juge du fond, en faisant application du principe " in dubio pro reo " ou lorsqu'elle a méconnu de toute autre manière le principe " in dubio pro duriore " (ATF <ref-ruling> consid. 2.3.3 p. 245 ss; arrêts 6B_874/2017 précité consid. 5.1; 6B_1177/2017 précité consid. 2.1).
2.3.
2.3.1. Selon l'<ref-law> (appropriation illégitime), celui qui, pour se procurer ou procurer à un tiers un enrichissement illégitime, se sera approprié une chose mobilière appartenant à autrui sera puni d'une peine privative de liberté de trois ans au plus ou d'une peine pécuniaire, en tant que les conditions prévues aux art. 138 à 140 CP ne seront pas réalisées (ch.1). Si l'auteur a trouvé la chose ou si celle-ci est tombée en son pouvoir indépendamment de sa volonté, s'il a agi sans dessein d'enrichissement ou si l'acte a été commis au préjudice des proches ou des familiers, l'infraction ne sera poursuivie que sur plainte (ch. 2).
L'acte d'appropriation signifie tout d'abord que l'auteur incorpore économiquement la chose ou la valeur de la chose à son propre patrimoine, pour la conserver, la consommer ou pour l'aliéner; il dispose alors d'une chose comme propriétaire, sans pour autant en avoir la qualité (<ref-ruling> consid. 6.2.1 p. 227; <ref-ruling> consid. 1c p. 25; <ref-ruling> consid. 2a p. 151 s.; plus récemment: arrêt 6B_70/2016 du 2 juin 2016 consid. 3.3.2). L'appropriation est illégitime dès lors qu'elle dénote un comportement contraire à la volonté du propriétaire (<ref-ruling> consid. 6.3 p. 227).
2.3.2. L'<ref-law> (vol) réprime le comportement de celui qui, pour se procurer ou procurer à un tiers un enrichissement illégitime, aura soustrait une chose mobilière appartenant à autrui dans le but de se l'approprier.
La notion de vol ne se distingue de celle de l'appropriation illégitime (<ref-law>) qu'au regard des modalités d'appropriation de la chose. Pour qu'il y ait vol, il faut que l'auteur soustraie la chose à autrui, c'est-à-dire qu'il brise la possession d'autrui pour constituer une nouvelle possession de la chose. En matière pénale, la possession (" Gewahrsam ", " possesso ") est définie comme un pouvoir de fait sur la chose, selon les règles de la vie sociale ou les circonstances concrètes du cas d'espèce et non selon les règles du droit civil (<ref-law>). Elle présuppose la disposition effective de la chose et la volonté de la posséder (<ref-ruling> consid. 2.1 p. 110; arrêt 6B_243/2014 du 15 juillet 2014 consid. 2.3).
2.3.3. Il y a dation en paiement (" datio in solutum ") lorsque le créancier et le débiteur conviennent que la dette sera exécutée par la remise ou la cession d'un bien autre que celui qui avait été initialement convenu. Si le créancier l'accepte, la nouvelle prestation remplace la prestation originelle avec effet libératoire (arrêt 4A_407/2010 du 17 novembre 2010 consid. 2.2). Il s'agit donc d'une modification conventionnelle de la prestation due, la prestation exécutée par le débiteur étant un succédané de celle qu'il devait initialement (TERCIER/PICHONNAZ, Le droit des obligations, 5 e éd., 2012, nos 1016 s. p. 229).
2.3.4. L'acquisition dérivée de la propriété mobilière suppose un titre d'acquisition valable, suivi d'une opération d'acquisition, à savoir un acte de disposition et un transfert de possession selon l'un des modes prévus aux <ref-law>, avec ou sans remise de la chose (PAUL-HENRI STEINAUER, Les droits réels, tome II, 4e éd., 2012, nos 2008 ss, spéc. no 2018 p. 311). L'acquisition est parfaite lorsque le transfert de la possession à l'acquéreur complète l'opération d'acquisition par laquelle l'aliénateur exécute l'obligation résultant pour lui du titre d'acquisition (<ref-law>; <ref-ruling> consid. 4.1; arrêts 5A_583/2012 du 6 décembre 2012 consid. 3.1.2; 5C.182/2005 du 2 décembre 2005 consid. 3 non publié aux <ref-ruling>).
2.4.
2.4.1. S'il ne conteste pas que le transport effectué en avril 2016 par la société de l'intimé avait fait naître une créance, qui s'élevait à 7128 fr., le recourant revient en revanche sur l'exigibilité de celle-ci en date du 23 décembre 2016. Il invoque sur ce point une interprétation arbitraire de ses déclarations, arguant que son courrier du 15 novembre 2016 à la société de l'intimé (cf. dossier cantonal, P. 16/2) établissait qu'en raison du sursis concordataire (<ref-law>) dont il faisait l'objet, il avait bien été convenu que la créance relative aux frais de transport ne deviendrait exigible qu'à la fin de l'année 2016.
Le courrier invoqué, dans lequel le recourant se limite à exposer sa version personnelle des faits quant aux relations contractuelles le liant à la société de l'intimé, n'est pas propre à convaincre de l'existence d'un accord de cette dernière quant à un report de la date de paiement, alors même que la cour cantonale a constaté que le contrat de transport prévoyait un paiement comptant (" Barzahlung ") et que le recourant avait signé le bulletin de livraison sur lequel figurait cette mention. Il ressort ainsi de l'arrêt entrepris que, comme le recourant ne s'était pas exécuté lors de la livraison, une facture lui avait ensuite été adressée par la société, puis un rappel, et enfin un courriel faisant état de trois promesses orales du recourant - non tenues - de s'en acquitter à court délai, ce qui permettait d'établir que la société n'avait pas eu l'intention d'accepter un report de l'exigibilité de sa créance.
Le recourant ne parvient pas non plus à démontrer que l'intimé avait été informé de l'existence de la procédure concordataire en cours depuis 2015, laquelle portait sur des dettes de l'ordre de 280'000 francs. Il n'était ainsi pas établi que cette circonstance avait été évoquée lors des pourparlers pré-contractuels. Du reste, selon la cour cantonale, si tel avait été le cas, la société se serait certainement renseignée sur la solvabilité du recourant, en s'enquérant au besoin auprès du commissaire ou du juge du concordat sur la faculté du recourant de conclure valablement, sans leur concours, un contrat du type de celui qui était en train de se négocier entre les parties (cf. <ref-law>). Dans ces conditions, le contrat de transport risquait manifestement de ne pas être conclu. Il n'était donc pas surprenant que le recourant n'avait pas fait état de la procédure concordataire auprès de sa cocontractante.
De telles constatations sont dénuées d'arbitraire. La cour cantonale pouvait ainsi retenir que la société de l'intimé n'avait pas accepté un report du paiement en relation avec le sursis concordataire alors en cours, de sorte que sa créance était exigible.
C'est par ailleurs en vain que le recourant se prévaut d'une prétendue facture que la société de l'intimé lui aurait adressé le 2 février 2017 (cf. dossier cantonal, P. 16/3). Ce document ne comportant ni l'adresse du recourant, ni les coordonnées bancaires de la société, ni la signature d'une personne habilitée à la représenter, c'est sans arbitraire que la cour cantonale a considéré qu'il ne constituait pas une facture que lui aurait adressé l'intimé après avoir emporté les garages mobiles. On ne voit du reste pas en quoi le maintien de la poursuite intentée à son encontre par la société de l'intimé dénotait un comportement contradictoire, étant observé que le recourant soutenait qu'elle détenait illicitement ses garages et que la cour cantonale pouvait en déduire que le maintien de la poursuite dans ces circonstances se justifiait.
2.4.2. Si aucune preuve matérielle ne permettait de se convaincre de l'existence d'un accord quant à la remise des garages mobiles en guise de paiement, lequel aurait été convenu par téléphone entre les parties, la cour cantonale a estimé que la version de l'intimé - qui avait constamment soutenu cette thèse - était entièrement crédible, dès lors que ses allégations au sujet de ses relations contractuelles avec le recourant avaient été établies, jusque dans les détails, par les pièces qu'il avait produites. Les allégations du recourant n'étaient en revanche pas fiables, celui-ci n'ayant cessé de mentir à la société de l'intimé sur son intention et ses capacités de s'acquitter des frais de transport des garages. Il n'avait ainsi pas informé l'intimé de l'existence d'un sursis concordataire lors de la conclusion du contrat, n'avait pas donné suite aux différentes correspondances qui lui avaient été adressées et avait tenu à plusieurs reprises de fausses promesses quant à un prochain paiement de la créance.
Le recourant oppose le fait qu'il avait mis en location l'un des garages, ce qui ne rendrait pas crédible l'existence d'un accord quant à un transfert de la propriété des garages. Cependant, la seule circonstance selon laquelle il n'aurait pas informé son locataire n'est pas propre à exclure l'existence d'un accord. Du reste, contrairement à ce que soutient le recourant, il n'est pas établi que l'intimé connaissait l'existence d'un bail conclu par le recourant.
Certes, la cour cantonale a encore relevé que le contenu de la conversation téléphonique entre le recourant et l'intimé n'était pas susceptible d'être établi, si ce n'est, indirectement, par l'audition de la comptable de la société et des trois employés qui se sont rendus à C._ pour emporter les garages mobiles. On comprend toutefois qu'à ses yeux, il pouvait être renoncé à ces mesures d'instruction, dès lors qu'il n'apparaissait pas envisageable que l'intimé avait présenté aux précités une version des faits différente de celle qu'il avait exposée aux enquêteurs, leur audition ne permettant quoi qu'il en soit pas d'apporter un éclairage suffisamment précis sur le contenu de la conversation téléphonique.
2.4.3. Cela étant, la cour cantonale pouvait constater que l'attitude constamment dilatoire adoptée par le recourant dans le cadre de ses relations contractuelles compromettait d'emblée toute force probante à ses déclarations, au contraire de celles de l'intimé, qui étaient étayées par pièces. La version des faits présentée par l'intimé devait ainsi être privilégiée, de sorte qu'il y avait lieu d'admettre l'existence d'un accord entre les parties, lequel portait non seulement sur le transfert de la propriété des garages mobiles, qui devait servir à éteindre la dette du recourant, mais également sur le fait que, comme l'intimé le soutenait, ce dernier avait été habilité à venir en prendre possession.
Dans ces circonstances, rien ne permettait d'établir que l'intimé avait voulu s'approprier les garages mobiles de manière illégitime, ni qu'il entendait les soustraire au recourant.
A défaut de soupçon suffisant justifiant une mise en accusation (<ref-law>), la cour cantonale pouvait considérer qu'une condamnation de l'intimé par l'autorité de jugement apparaissait exclue ou du moins très peu probable, que ce soit pour l'infraction d'appropriation illégitime (<ref-law>) ou de vol (<ref-law>). Il résulte de ce qui précède que la cour cantonale n'a pas violé le droit fédéral, ni le principe " in dubio pro duriore ", en considérant que la procédure ouverte contre l'intimé devait faire l'objet d'un classement.
3.
Le recours doit être rejeté. Le recourant, qui succombe, supporte les frais judiciaires (<ref-law>). L'intimé, qui a été invité à se déterminer, a droit à des dépens, à la charge du recourant (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 3000 fr., sont mis à la charge du recourant.
3.
Le recourant versera à l'intimé 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 au Tribunal cantonal du canton de Vaud, Chambre des recours pénale.
Lausanne, le 29 janvier 2019
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
Le Greffier : Tinguely