Fatti: A. A.a. Il 28 gennaio 1991 B._, nata nel 1954, in quel momento dipendente di un albergo-ristorante come cameriera e assicurata contro gli infortuni presso C._ (confluita in Swica Assicurazioni SA; di seguito: la Swica), è caduta mentre stava sciando e ha riportato la frattura delle vertebre D8 e D9. A causa dell'infortunio, nel novembre 1991 B._ è stata sottoposta a un intervento di spondilodesi D7-D10 con fissatore interno. L'assicuratore ha erogato le prestazioni e ha posto B._ al beneficio di una rendita di invalidità con un grado del 50% dal 1° novembre 1993. Dal 1995 al 2007 l'assicurata si è sottoposta a cure fisioterapiche intensive in regime stazionario o in Day Hospital per 2-3 settimane annuali consecutive. Tali cure sono state assunte dalla Swica. A.b. Il 26 gennaio 2017 l'assicuratore ha avviato una procedura di revisione della rendita di invalidità e ha conferito l'incarico per l'esperimento di una perizia medica al Dr. med. D._. Con decisione dell'8 agosto 2018, confermata su opposizione il 6 dicembre 2018, la Swica ha ridotto al 26% il grado di invalidità dal 1° agosto 2018. B. Con giudizio del 5 febbraio 2020 il Tribunale delle assicurazioni del Cantone Ticino ha parzialmente accolto il ricorso di B._ e ha fissato il grado di invalidità al 43% dal 1° agosto 2018. C. Swica presenta un ricorso in materia di diritto pubblico al Tribunale federale con cui chiede l'annullamento del giudizio cantonale e conclude in via principale per la conferma della decisione su opposizione e in via subordinata per il rinvio alla Corte cantonale per nuova decisione. B._ ha postulato la reiezione del ricorso, mentre la Corte cantonale ha rinunciato a presentare osservazioni.