Faits :
A.
Le 14 mars 2020, le Ministère public de l'arrondissement de La Côte a ouvert une instruction contre A._ à la suite de la plainte déposée à son encontre le 13 mars 2020 par son ex-compagne B._. Il lui est notamment reproché, le 13 mars 2020, alors qu'il était au domicile de la plaignante pour y récupérer des affaires à la suite de leur séparation, d'avoir saisi le téléphone portable de cette dernière pour vérifier ses fréquentations, puis d'avoir saisi un couteau de cuisine dont la lame mesurait environ 10 cm, avec lequel il aurait menacé de s'ouvrir les veines. Après qu'elle lui aurait demandé d'arrêter, le prévenu se serait approché d'elle et l'aurait poussée, la faisant tomber au sol. Il se serait assis à califourchon sur elle, aurait posé sa main sur la bouche pour l'empêcher de crier et aurait placé le couteau sur son abdomen, lui occasionnant ainsi une petite plaie. A._ aurait cessé ses agissements lorsque son ex-compagne lui aurait annoncé qu'elle était enceinte de lui et qu'elle l'aimait, ce qui était faux. A la suite d'un message envoyé après son départ dans lequel son ex-compagne lui disait "tu allais me tuer" et "j'ai peur de toi", A._ a fait une tentative de suicide et a été retrouvé inconscient à son domicile après avoir ingurgité des médicaments et de l'alcool.
A._ a été appréhendé le 15 mars 2020. Le lendemain, lors de son audition d'arrestation par le Ministère public, il a contesté avoir adopté un comportement hétéro-agressif, mais a admis s'être retrouvé au sol sur son ex-compagne, sans toutefois pouvoir en expliquer la raison.
Le casier judiciaire suisse de A._ fait état d'une condamnation du 31 août 2018 pour violation grave des règles de la circulation routière.
B.
Par ordonnance du 18 mars 2020, le Tribunal des mesures de contrainte (Tmc) a constaté que les conditions légales de la détention provisoire de A._ étaient réalisées et a ordonné, en lieu et place de la détention provisoire, des mesures de substitution sous la forme d'une obligation de ne pas entrer en contact avec la plaignante, par quelque moyen que ce soit, directement ou indirectement, en particulier notamment par téléphone et au travers des réseaux sociaux, d'une obligation de ne pas répondre à la plaignante même si c'est elle qui devait être à l'origine d'une prise de contact, d'une interdiction de s'approcher à moins de 500 mètres du domicile et du lieu de travail de la plaignante, d'une obligation de s'éloigner immédiatement d'elle s'il venait à se retrouver dans le même lieu que cette dernière, et de l'obligation de suivre un traitement psychothérapeutique auprès d'un médecin ou d'une structure médicale de son choix, à charge pour le prévenu de produire une attestation dudit suivi au Ministère public dans un délai échéant le 8 avril 2020. L'attention de A._ a par ailleurs été attirée sur le fait que cette autorité pouvait à tout moment révoquer les mesures de substitution, en ordonner d'autres ou prononcer la détention provisoire si des faits nouveaux l'exigeaient ou s'il ne respectait pas les obligations qui lui avaient été imposées.
C.
B._ a déposé plainte pénale contre le prévenu et s'est constituée partie civile les 16 avril et 23 juin 2020, en raison des faits suivants:
Entre le 31 mars 2020 et le 16 juin 2020, malgré les mesures de substitution ordonnées le 18 mars 2020 et les demandes répétées de son ex-compagne pour qu'il arrête de lui écrire, A._ aurait adressé à celle-ci, depuis son téléphone, de nombreux messages écrits et vocaux, notamment des mots d'amour et des photos de leur couple. A partir du 31 mai 2020, l'envoi des messages se serait intensifié, avec des messages quasi quotidiens jusqu'au 16 juin 2020. A._ aurait également demandé aux infirmières de la Fondation de Nant de faire suivre ses mots-doux à B._.
Le 4 avril 2020, A._ aurait suivi son ex-compagne chez une collègue de travail et l'aurait surveillée depuis sa voiture pendant une dizaine de minutes. Le 8 avril 2020, il se serait rendu devant l'immeuble de son ex-compagne et l'aurait surveillée depuis l'immeuble d'en face durant une partie de la nuit. Le lendemain, vers 21 heures, il aurait à nouveau observé la plaignante et tenté d'entrer en contact avec elle; craignant pour sa sécurité, cette dernière s'est rendue au poste de police vers 22 heures.
Le 11 avril 2020, vers 14h30, A._ aurait suivi son ex-compagne lorsqu'elle serait descendue du bus pour rentrer chez elle. Paniquée en raison du comportement du prévenu, elle se serait rendue chez un voisin jusqu'à environ 19 heures. Lorsqu'elle serait sortie pour acheter des cigarettes accompagnée de son voisin, le prévenu les aurait suivis en voiture. Son voisin l'aurait finalement raccompagnée chez elle. Quelques minutes après le départ de celui-ci, le prévenu aurait sonné à la porte de l'appartement de la plaignante et aurait déposé un sac sur la poignée. Craignant pour sa sécurité, B._ aurait contacté un collègue de travail, qui serait arrivé chez elle vers 22 heures, alors que A._ était toujours dans la rue en train de la surveiller. Le prévenu aurait également interpellé la plaignante qui se trouvait sur son balcon dans l'attente de l'arrivée de la police. Une fois sur place, la police a éloigné le prévenu. Le 12 avril 2020, à 3h16, le prévenu serait revenu se cacher dans l'immeuble d'en face et y serait resté jusqu'à l'aube. Le même jour vers 22 heures, il se serait positionné face au balcon de la plaignante pendant une dizaine de minutes.
Le 14 avril 2020 vers 15h30, A._ aurait attendu B._ dans le garage de son immeuble. Celle-ci serait restée enfermée dans sa voiture et aurait filmé les discussions durant lesquelles A._ aurait menacé de mettre fin à ses jours; la plaignante n'aurait pas eu d'autre choix que de quitter les lieux avec son véhicule pour ne pas être confrontée au prévenu.
D.
Entendu par la Procureure le 23 juin 2020, A._ a notamment admis s'être rendu à deux ou trois reprises devant chez la plaignante pour lui parler et comprendre pourquoi elle avait agi comme cela et lui avoir écrit des messages. A l'issue de cette audience, il a fait l'objet d'une nouvelle mise en garde par le Ministère public.
Selon le rapport médical établi le 6 juillet 2020 par le Service de Psychiatrie et Psychothérapie Communautaire de la Fondation de Nant, A._ souffre d'un épisode dépressif sévère avec symptômes psychotiques. Il en ressort que son discours, bien que clair et cohérent, est centré sur la séparation d'avec sa compagne et ses difficultés à se projeter dans l'avenir. Des hallucinations auditives caractérisées par le fait qu'il entendait la voix de sa compagne sans parvenir à comprendre ce qu'elle disait ont par ailleurs été relevées par le praticien.
E.
Par acte du 4 septembre 2020, le Ministère public a requis la prolongation des mesures de substitution ordonnées en lieu et place de la détention provisoire le 18 mars 2020, pour une durée de trois mois; à titre subsidiaire, il a requis la mise en détention provisoire du prévenu.
Par courrier du 9 septembre 2020, B._, par son conseil, a informé le Ministère public de nouveaux faits commis par A._ en violation des mesures de substitution ordonnées le 18 mars 2020.
Après avoir entendu A._ qui a notamment expliqué ne plus avoir eu de contact avec la plaignante depuis le 8 mai 2020, le Tmc a, par ordonnance du 14 septembre 2020, prolongé les mesures de substitution précédemment ordonnées.
F.
A._ a été appréhendé à la sortie de l'audience du Tmc, le 14 septembre 2020. Il était reproché au prévenu d'avoir persisté à ne pas respecter les mesures de substitution ordonnées le 18 mars 2020 et, en particulier, de s'être, le 6 juillet 2020, rendu au domicile de B._ et d'y avoir déposé une boîte en forme de coeur contenant deux alliances ainsi que d'avoir appelé son ex-compagne le 4 septembre 2020 (à 11h13 et à 13h19) et le 6 septembre 2020 (à 3h22) en cachant son numéro de téléphone afin de l'importuner et encore d'avoir entre 17h30 et 18h00 suivi la plaignante chez sa mère afin de la contraindre à prendre contact avec lui. Lors de son audition d'arrestation, A._ a contesté les faits qui lui étaient reprochés; il a par ailleurs indiqué avoir toujours des hallucinations acoustiques et entendre la voix de la plaignante, même si cela se produisait moins souvent qu'avant.
Par acte du 15 septembre 2020, invoquant des soupçons suffisants, ainsi qu'un risque de réitération et de passage à l'acte qu'aucune mesure de substitution n'était apte à parer au vu des violations réitérées de certaines des mesures mises en place le 18 mars 2020, le Ministère public a requis la révocation des mesures de substitution et la mise en détention provisoire de A._ pour une durée de trois mois.
Après avoir procédé à l'audition de A._ qui affirmait ne plus avoir essayé depuis le mois de juin de contacter la plaignante, le Tmc a, par ordonnance du 17 septembre 2020, révoqué les mesures de substitution ordonnées le 18 mars 2020 et prolongées le 14 septembre 2020 et a ordonné la détention provisoire du prévenu. Le Tmc a indiqué qu'il n'avait pas connaissance, lorsqu'il a rendu son ordonnance du 14 septembre 2020, des événements survenus depuis le mois de juin 2020. Compte tenu de ceux-ci, dont aucun élément ne permettait de douter de la véracité, il a considéré que le prévenu n'avait que très partiellement respecté les mesures de substitution dont il avait bénéficié, et ce malgré plusieurs mises en garde du Ministère public, de sorte que celles-ci devaient être révoquées et la détention provisoire ordonnée, notamment au vu des risques de réitération et de passage à l'acte que l'intéressé continuait de présenter.
G.
Par arrêt du 5 octobre 2020, la Chambre des recours pénale du Tribunal cantonal a rejeté le recours intenté par le prévenu et a confirmé l'ordonnance du 17 septembre 2020.
H.
A._ forme un recours en matière pénale au terme duquel il conclut à la réforme de cet arrêt en ce sens que la libération immédiate est ordonnée moyennant différentes mesures de substitutions auxquelles il s'engage de s'astreindre. Il sollicite par ailleurs l'assistance judiciaire.
La Chambre des recours pénale et le Ministère public renoncent à se déterminer et se réfèrent aux considérants de la décision entreprise. Le recourant réplique.
Considérant en droit :
1.
Selon l'art. 78 LTF, le recours en matière pénale est ouvert contre les décisions rendues en matière pénale, dont font partie les décisions rendues en matière de détention provisoire ou pour des motifs de sûreté au sens des art. 212 ss CPP (ATF 137 IV 22 consid. 1 p. 23). L'accusé a qualité pour agir en vertu de l'art. 81 al. 1 let. a et let. b ch. 1 LTF. Pour le surplus, le recours est formé en temps utile (art. 100 al. 1 LTF) contre une décision rendue en dernière instance cantonale (art. 80 LTF) et les conclusions présentées sont recevables au regard de l'art. 107 al. 2 LTF.
2.
Le recourant ne conteste pas que les conditions de la détention énumérées à l'art. 221 CPP sont remplies, en particulier l'existence d'un risque de récidive retenu par l'instance précédente. Il fait en revanche grief à l'instance précédente d'avoir confirmé le bien-fondé de la révocation des mesures de substitution en vigueur prolongées le 14 septembre 2020, en violation des art. 237 al. 5 CPP, 388 et 226 al. 5 CPP.
2.1. Conformément au principe de la proportionnalité (art. 36 al. 3 Cst.), il convient d'examiner les possibilités de mettre en oeuvre d'autres solutions moins dommageables que la détention (règle de la nécessité). Cette exigence est concrétisée par l'art. 237 al. 1 CPP, qui prévoit que le tribunal compétent ordonne une ou plusieurs mesures moins sévères en lieu et place de la détention provisoire ou de la détention pour des motifs de sûreté si ces mesures permettent d'atteindre le même but que la détention.
Conformément à l'art. 237 al. 5 CPP, le tribunal peut en tout temps révoquer les mesures de substitution, en ordonner d'autres ou prononcer la détention provisoire ou la détention pour des motifs de sûreté si des faits nouveaux l'exigent ou si le prévenu ne respecte pas les obligations qui lui ont été imposées. Dans ces deux cas, de nouveaux développements sont nécessaires (arrêt 1B_173/2013 du 29 mai 2013 consid. 4.2).
2.2. Conformément à l'art. 105 al. 1 LTF, le Tribunal fédéral statue en principe sur la base des faits établis par l'autorité précédente. L'art. 105 al. 2 LTF lui permet cependant de rectifier ou compléter d'office les constatations de l'autorité précédente si les faits ont été établis de façon manifestement inexacte ou en violation du droit au sens de l'art. 95 LTF.
2.3. En l'espèce, confirmant l'appréciation du Tmc, le Tribunal cantonal a estimé que les mesures de substitution ordonnées le 18 mars 2020 et prolongées le 14 septembre suivant, devaient être révoquées en application de l'art. 237 al. 5 CPP, dès lors qu'il était manifeste que le recourant n'avait pas respecté les obligations et interdictions qui lui avaient été imposées. La cour cantonale ne voyait au demeurant pas quelles autres mesures pourraient être ordonnées pour parer au risque retenu (cf. arrêt entrepris consid. 6.2).
Le recourant conteste l'appréciation de l'instance précédente. Il soutient qu'aucun fait nouveau n'est survenu entre l'ordonnance du Tmc du 14 septembre 2020 prononçant des mesures de substitution et celle du 17 septembre 2020 révoquant lesdites mesures et ordonnant la mise en détention. Se prévalant à cet égard du procès-verbal des opérations, il affirme que les prétendus faits nouveaux qui auraient eu lieu entre juin et début septembre étaient connus du Tmc. A le suivre, la décision attaquée retient de manière arbitraire que le Tmc n'aurait pas eu connaissance des faits survenus depuis le mois de juin 2020 lorsqu'il a statué le 14 septembre 2020.
Comme le relève le recourant, le procès-verbal des opérations expose que le 10 septembre 2020 la Procureure a informé la présidente du Tmc que le prévenu "a été placé sous mandat d'arrêt, celui-ci ayant une nouvelle fois violé les mesures de substitution selon le courrier de l'avocate de la plaignante". Dans ce document daté du 9 septembre 2020, l'avocate de la plaignante fait état de trois appels téléphoniques en numéros masqués intervenus durant la nuit, les 4 et 6 septembre 2020 [le prévenu aurait imité la plaignante lorsque celle-ci aurait répondu "allô, c'est qui?"], ainsi que du fait que le prévenu se serait trouvé à plusieurs reprises à proximité d'elle en scooter et lui aurait fait des signes, la dernière fois le 4 septembre 2020. Le procès-verbal des opérations indique encore que, le 14 septembre 2020, avant l'audience du Tmc, la Procureure a informé "par téléphone la Présidente du Tmc qu'elle a donné mandat à la police de procéder à l'interpellation de A._ à l'issue de son audition au Tmc". Par ailleurs, le Ministère public a joint à sa demande de prolongation des mesures des substitution du 4 septembre 2020, le courrier du 8 juillet 2020 de l'avocate de la plaignante faisant état de la boîte en forme de coeur avec deux alliances déposée anonymement devant le domicile de cette dernière, photographie à l'appui.
2.4. Les éléments qui précèdent amènent le Tribunal fédéral à compléter d'office les faits (art. 105 al. 2 LTF). Ainsi, le Tmc se trouvait lorsqu'il a statué le 14 septembre 2020, en possession des circonstances de fait dénotant la violation par le recourant des mesures de substitution prononcées en mars 2020. Les événements des 4 et 6 septembre 2020, en particulier, avaient été portés à sa connaissance. Dans ces conditions, le Tmc devait recueillir les preuves immédiatement disponibles susceptibles de confirmer ou d'écarter les soupçons et les motifs de détention (art. 225 al. 4 en lien avec l'art. 237 al. 4 CPP). A ce stade, cette juridiction avait la possibilité d'interroger le prévenu (art. 227 al. 6 CPP), mesure facile à exécuter en l'espèce puisqu'une audience en présence du prévenu a eu lieu le 10 septembre 2020. Dans tous les cas, le Tmc ne pouvait pas - sans sombrer dans l'arbitraire - affirmer dans son ordonnance ultérieure du 17 septembre 2020 qu'il n'avait pas eu connaissance des dernières violations des mesures de substitution par l'intéressé lorsqu'il avait statué le 14 septembre 2020.
Dans la mesure où le Ministère public avait, dans sa demande du 4 septembre 2020, conclu à titre subsidiaire à la mise en détention du prévenu, le Tmc aurait donc pu, au vu des éléments de fait précités, statuer dans ce sens après avoir procédé à l'audition du prévenu le 10 septembre 2020 et révoquer les mesures de substitution en vigueur (cf. ATF 142 IV 29 consid. 3.4). En l'occurrence, appelé à statuer sur la demande formulée le lendemain (le 15 septembre 2020) par le Ministère public tendant à la mise en détention provisoire du prévenu, le Tmc ne pouvait alors, à défaut de faits nouveaux ou d'autres violations des mesures de substitution par le recourant, révoquer ces dernières. Selon la jurisprudence, les autorités sont en effet liées par leur appréciation antérieure et ne peuvent pas, sans changement de circonstances, la modifier à leur gré (cf. arrêts 1B_216/2016 du 5 juillet 2016 consid. 4.4 et 1B_473/2012 du 12 septembre 2012 consid. 5; cf. aussi FREI/ZUBERBÜHLER, in Donatsch/Lieber/Summers/ Wohlers [éd.], Kommentar zur Schweizerischen Strafprozessordnung, 3 e éd. 2020, n. 13 ad art. 237 CPP).
Par conséquent, la cour cantonale ne pouvait, en l'absence d'un changement de circonstances depuis le prononcé de l'ordonnance du Tmc du 14 septembre 2020, confirmer l'ordonnance du 17 septembre 2020 révoquant les mesures de substitution en vigueur et ordonnant la détention provisoire du recourant.
3.
Il s'ensuit que le recours doit être admis. L'arrêt de la Chambre des recours pénale du 5 octobre 2020 est annulé. Sous réserve de l'existence d'un autre titre de détention, la libération immédiate du recourant, assortie des mesures de substitution à la détention provisoire prononcées par le Tmc dans son ordonnance du 14 septembre 2020, est ordonnée, à charge du Ministère public d'organiser sans délai les modalités de celle-ci. Il convient encore d'attirer avec la plus grande fermeté l'attention du recourant sur le fait que, s'il ne respecte pas les obligations qui lui ont été imposées par le Tmc, celui-ci pourra, le cas échéant, révoquer les mesures de substitution dont il bénéficie et ordonner sa mise en détention.
Conformément à l'art. 214 al. 4 CPP, une copie du présent arrêt sera communiquée à la partie plaignante (cf. ATF 139 IV 121 consid. 5 p. 127 s.; FRANÇOIS CHAIX, in Commentaire romand, Code de procédure pénale suisse, 2 e éd. 2019, n. 14-16 ad art. 214 CPP; ULRICH WEDER, in Donatsch/Lieber/Summers/Wohlers [éd.], Kommentar zur Schweizerischen Strafprozessordnung, 3 e éd. 2020, n. 32 ad art. 214 CPP).
4.
Le recourant, qui obtient gain de cause avec l'assistance d'un avocat, a droit à des dépens pour les procédures fédérale et cantonale, à la charge du canton de Vaud (art. 68 al. 1 et 5 LTF). Dans ces conditions, sa demande d'assistance judiciaire pour la présente procédure est sans objet. Il n'y a pas lieu de percevoir des frais judiciaires pour les procédures fédérale et cantonale (art. 66 al. 4 et 67 LTF).
Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est admis. L'arrêt du 5 octobre 2020 de la Chambre des recours pénale du Tribunal cantonal vaudois est annulé.
2.
La libération immédiate du recourant, assortie des mesures de substitution à la détention provisoire prononcées par le Tmc dans son ordonnance du 14 septembre 2020, est ordonnée, à charge du Ministère public de l'arrondissement de La Côte d'organiser sans délai les modalités de celle-ci.
3.
Une indemnité de dépens de 2'500 fr. est allouée au mandataire du recourant pour les procédures fédérale et cantonale à la charge du canton de Vaud.
4.
Il n'est pas perçu de frais judiciaires pour les procédures fédérale et cantonale.
5.
Le présent arrêt est communiqué au mandataire du recourant, au Ministère public de l'arrondissement de La Côte, au Tribunal cantonal du canton de Vaud, Chambre des recours pénale, et à B._.
Lausanne, le 18 novembre 2020
Au nom de la Ire Cour de droit public
du Tribunal fédéral suisse
Le Président : Chaix
La Greffière : Arn