Faits :
A.
Par ordonnance du 11 décembre 2020, le Ministère public de l'arrondissement de Lausanne a refusé d'entrer en matière sur la plainte déposée par A._ contre B._, son voisin.
En substance, A._ reprochait à B._, dans le cadre d'une querelle de voisinage, d'être arrivé vers lui avec son véhicule en freinant au tout dernier moment, d'être sorti de la voiture et de lui avoir saisi son pied gauche pour le soulever jusqu'à une hauteur d'un mètre, le faisant basculer et chuter sur son épaule droite, le 23 avril 2020. En annexe à sa plainte, il a produit un certificat médical du 10 juillet 2020, par lequel son médecin traitant attestait l'avoir vu en consultation le 1er mai 2020, " alors qu'il s'était fait molester le 23.04.2020 par son voisin " et indiquait que le patient présentait une impotence et une douleur à l'épaule droite, dues à une déchirure du tendon supra-épineux confirmée par IRM.
Lors du dépôt de sa plainte, A._ a mentionné s'être fait chasser de la parcelle de son voisin le 22 avril 2020 à coups de jets d'eau, au moyen d'un tuyau d'arrosage.
B.
Par arrêt du 30 mars 2021, la Chambre des recours pénale du Tribunal cantonal vaudois a rejeté le recours formé par A._ contre l'ordonnance de non-entrée en matière.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt cantonal et conclut, avec suite de frais et dépens, à l'annulation de l'ordonnance de non-entrée en matière du 11 décembre 2020 et au renvoi de la cause au ministère public pour ouverture d'instruction. Subsidiairement, il conclut à l'annulation de l'arrêt cantonal et au renvoi de la cause à la cour cantonale pour nouvelle décision dans le sens des considérants.
D.
Invités à se déterminer sur le mémoire de recours, le ministère public et la cour cantonale y ont renoncé, tandis que B._ a déposé des observations et conclu au rejet du recours, avec suite de frais et dépens. Les déterminations ont été communiquées pour information à A._, lequel n'a pas répliqué.

Considérant en droit :
1.
Le Tribunal fédéral examine d'office et librement la recevabilité des recours qui lui sont soumis (<ref-ruling> consid. 2; <ref-ruling> consid. 1).
1.1. Aux termes de 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, telles les prétentions en réparation du dommage et du tort moral au sens des <ref-law>. En vertu de l'<ref-law>, il incombe à la partie recourante d'alléguer les faits qu'elle considère comme propres à fonder sa qualité pour recourir, notamment son préjudice et la réparation à laquelle elle prétend. Comme il n'appartient pas à la partie plaignante de se substituer au ministère public ou d'assouvir une soif de vengeance, la jurisprudence entend se montrer restrictive et stricte, de sorte que le Tribunal fédéral n'entre en matière que s'il ressort de façon suffisamment précise de la motivation du recours que les conditions précitées sont réalisées, à moins que l'on puisse le déduire directement et sans ambiguïté compte tenu notamment de la nature de l'infraction alléguée (<ref-ruling> consid. 1.1 p. 4 s.).
1.2. Le recourant fait valoir des conclusions civiles chiffrées et étayées correspondant à des frais médicaux non remboursés (consultations ambulatoires, séances de physiothérapie et traitements) et à un tort moral résultant du comportement qu'il impute à l'intimé. Contrairement à ce que prétend l'intimé dans ses déterminations, les frais médicaux ne doivent pas nécessairement résulter d'une opération. Les éléments apportés par le recourant permettent de lui reconnaître, au stade de l'examen de la recevabilité du recours en matière pénale, la qualité pour recourir au sens de l'art. 81 al. 1 let. b ch. 5 LTF. Il y a donc lieu d'entrer en matière sur ce point.
1.3. Le recourant reproche en outre à la cour cantonale de lui avoir nié son droit de porter plainte s'agissant du comportement de son voisin le 22 avril 2020, relevant, selon lui, de l'infraction de voies de fait. En tant qu'il fait valoir une violation de son droit de porter plainte, il dispose également de la qualité pour recourir sur ce point, au sens de l'art. 81 al. 1 let. a et b ch. 6 LTF.
2.
Le recourant reproche à la cour cantonale d'avoir violé le principe in dubio pro duriore et l'<ref-law> en confirmant le refus d'entrer en matière sur sa plainte.
2.1. Conformément à l'<ref-law>, le ministère public rend immédiatement une ordonnance de non-entrée en matière s'il ressort de la dénonciation ou du rapport de police que les éléments constitutifs de l'infraction ou les conditions à l'ouverture de l'action pénale ne sont manifestement pas réunis (let. a) ou qu'il existe des empêchements de procéder (let. b). Cette disposition doit être appliquée conformément à l'adage in dubio pro duriore. Celui-ci découle du principe de la légalité (art. 5 al. 1 Cst. et <ref-law> en relation avec les art. 319 al. 1 et 324 al. 1 CPP; <ref-ruling> consid. 4.2 p. 91) et signifie qu'en principe un classement ou une non-entrée en matière ne peuvent être prononcés 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 (<ref-ruling> consid. 2.1 p. 69). 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 (<ref-ruling> consid. 2.2.1 p. 243; <ref-ruling> consid. 4.1.2 p. 91 et les références citées).
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, au stade de la clôture de l'instruction, que le prévenu soit mis en accusation (<ref-ruling> consid. 2.2.2 et les arrêts cités; arrêts 6B_258/2021 du 12 juillet 2021 consid. 2.2; 6B_1164/2020 du 10 juin 2021 consid. 2.1). En amont, une telle configuration exclut aussi, en principe, une décision de non-entrée en matière. 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 (<ref-ruling> consid. 2.2.2; arrêts 6B_488/2021 du 22 décembre 2021 consid. 5.3; 6B_766/2018 du 28 septembre 2018 consid. 3.1). Suivant les circonstances, les mêmes motifs peuvent aussi permettre, en particulier si la crédibilité de la partie plaignante est d'emblée remise en question par des éléments manifestement probants, de rendre une décision de non-entrée en matière (arrêts 6B_766/2018 précité consid. 3.1; 6B_179/2018 du 27 juillet 2018 consid. 3.1).
2.2. Le 16 septembre 2020, l'épouse de B._ a été entendue comme personne appelée à donner des renseignements concernant les faits du 23 avril 2020, lors desquels elle était présente.
Par courrier du 18 septembre 2020 adressé au ministère public, B._ a admis avoir, le 22 avril 2020 "douché" le recourant avec le tuyau du jardin et a indiqué qu'à son arrivée le 23 avril 2020 devant chez lui, le recourant, qui obstruait le passage, ne s'était pas déplacé malgré l'avertisseur sonore. Il avait alors dû freiner d'urgence pour ne pas le renverser, il était ensuite sorti du véhicule et une discussion s'en était suivie au cours de laquelle il avait saisi et jeté la casquette de son voisin dans le jardin. Il a contesté tout " acte de violence ". Lors de son audition du 28 septembre 2020, B._ a expliqué qu'après être descendu du véhicule, les intéressés avaient eu une " conversation animée en respectant la distance sanitaire imposée " mais qu'à aucun moment il n'y avait eu de contact physique entre eux. A ce propos, il a précisé, s'agissant de son épouse, " Je sais qu'elle vous a parlé de bagarre, mais il ne s'agissait pas de cela. C'était juste des échanges verbaux ". Il a encore déclaré qu'au terme de leur discussion, son voisin était parti sans évoquer ni manifester une quelconque douleur et avait continué à désherber son terrain.
2.3. S'agissant de l'épisode de la " douche au tuyau d'arrosage ", la cour cantonale a considéré qu'il ne faisait pas l'objet de la plainte proprement dite, puisque le recourant se limitait à évoquer, sans plus amples explications, qu'il a été " chassé de sa parcelle à coups de jets d'eau ", en référence au contexte entourant les faits du 23 avril 2020. Elle a jugé qu'il n'était pas nécessaire d'examiner si ces " jets d'eau " - dont elle ignorait s'ils avaient véritablement atteint le plaignant - pouvaient constituer des voies de fait. Quant à la querelle du 23 avril 2020, elle a considéré que les déclarations de B._ ainsi que celles de son épouse ne permettaient pas de retenir qu'il y avait eu une atteinte physique. En outre, la cour cantonale a estimé que le certificat médical annexé à la plainte n'était, " à lui seul ", pas pertinent car la consultation avait eu lieu plus d'une semaine après les faits dénoncés. Elle a en définitive retenu que les conditions d'une non-entrée en matière au sens de l'<ref-law> étaient réunies.
2.4. Le raisonnement de la cour cantonale ne saurait être suivi.
Elle n'a relevé aucune contradiction dans les déclarations du recourant qui le rendrait moins crédible que l'intimé. Les versions des intéressés sont concordantes tant quant à l'épisode de la " douche au tuyau d'arrosage " le 22 avril 2020, que s'agissant du freinage d'urgence de l'intimé à proximité du recourant et de certains échanges, le lendemain. Les parties, ainsi que l'épouse de l'intimé, ont tous les trois indiqué qu'à cette occasion, cette dernière avait demandé à l'intimé d'arrêter, celle-ci ayant ajouté qu'elle avait préféré ne pas voir ce qui allait se passer.
En revanche, les déclarations orales de l'intimé, selon lesquelles il avait respecté la distance sanitaire et n'avait eu aucun contact physique avec le recourant s'écartent singulièrement de son récit écrit, dans lequel il concédait avoir saisi et jeté la casquette de son voisin.
Cela étant, la cour cantonale ne pouvait d'entrée de cause écarter les accusations portées par le recourant au profit de la version de l'intimé. Le certificat médical attestant d'une impotence et d'une douleur de l'épaule droite, qui seraient dues à une déchirure du tendon supra-épineux à la suite de l'altercation du 23 avril 2020, ne pouvait davantage être écarté à ce stade de la procédure, au seul motif que la consultation avait eu lieu une semaine après les faits. Au contraire, le constat, confirmé par IRM, d'une lésion correspondant aux conséquences du comportement reproché à l'intimé suscite un doute quant à la situation factuelle et constitue un élément objectif qui, ajouté aux déclarations des parties, justifie l'ouverture d'une instruction. En tant que l'intimé prétend qu'il n'y a aucun témoin de la scène et qu'il ne serait pas possible de retenir avec certitude que les constatations contenues dans le certificat médical seraient les conséquences des événements du 23 avril 2020, il ne fait que souligner le caractère incertain des faits à ce stade.
Quant à l'épisode du jet au tuyau d'arrosage, la cour cantonale ne saurait se contenter d'indiquer qu'il ne fait pas l'objet de la plainte pénale alors que ce comportement y est expressément mentionné et que l'intimé en fait également état dans son courrier du 18 septembre 2020. En relevant qu'elle ignore si le jet a atteint le recourant, la cour cantonale reconnaît qu'il demeure un doute sur la situation factuelle à cet égard également.
Les circonstances du cas d'espèce justifiaient d'instruire la situation de fait et, dans ce cadre, d'examiner la crédibilité des déclarations des intéressés s'agissant des événements des 22 et 23 avril 2020. Au regard de la jurisprudence précitée, les conditions d'une non-entrée en matière n'étaient pas réunies, de sorte que la cour cantonale a violé le principe in dubio pro duriore en confirmant le refus d'entrer en matière sur les faits dénoncés. Le recours doit être admis et la cause renvoyée à l'autorité précédente afin qu'elle ordonne l'ouverture d'une instruction sur les faits dénoncés par le recourant.
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 et peut prétendre à des dépens, à la charge pour moitié chacun, d'une part, du canton de Vaud et, d'autre part, de l'intimé (art. 68 al. 1 et 2 LTF). Dans les circonstances d'espèce, il peut être renoncé à mettre des frais à la charge de l'intimé, le canton n'ayant quant à lui pas à en supporter (art. 66 al. 1 et 4 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis, l'arrêt attaqué est annulé et la cause renvoyée à l'autorité cantonale pour nouvelle décision.
2.
Il n'est pas perçu de frais judiciaires.
3.
Une indemnité de 3'000 fr., à verser au recourant à titre de dépens, est mise, pour moitié, à la charge du canton de Vaud et, pour moitié, à la charge de l'intimé.
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 21 février 2022
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Juge présidant : Denys
La Greffière : Klinke