Divorce or no?

Married for 17 years and together for 21. When we met and for years after, up to a year ago, my wife was a self-proclaimed "BOSS LADY." We have two daughters, both in their early teens. I have a great relationship with our girls. After an accident that almost took my life, I was a stay-at-home dad for 4 years. During that time, my wife was the "breadwinner." After four years, I got a job that I have currently been at for 7 years. The job has turned into a career, and I love what I do for a living. The career is now paying me close to what my wife is making.

My wife works in a very wealthy area of the country, and all of her clients are stay-at-home mothers because they come from money. Her friends also are stay-at-home mothers. My wife is now of the mindset that she should have been a stay-at-home mother. She says she has missed out on our girls' lives because she works. She says that I am a loser because she makes more money than I do. When the wife gets angry, she yells at our girls. Recently, she was mad at our eldest because she asked her mother to please buy her a bathing suit. Our eldest even said she could use her own money, but her mother would just need to use her card, and she would be given the cash for it. The wife refused and started bawling, saying that she "didn't sign up for this". There have been times in the past when she has said this to me, but to come at our girls and tell them that she didn't sign up to be a mother... No sex for 7 years. Like, what the heck?

She hides money, and I am not allowed to see her bank account or her phone. Yesterday she threatened us by saying she was going to go back home (a different state than her parents) and "you can figure everything out." I do not want my girls to be treated the way she does. Is a divorce the only solution here guys?