Would you stay in the job

I work a retail job at a large chain where I get 40 hours a week. I get stable income and my boss has promised me a big promotion late next year. I have great friends here and a good relationship with the managers. The problem is the store is badly run, one manager in particular drives everyone nuts and I am starting to hate coming in to work everyday. I have lost all my motivation for my job and the quality of work that I do isn’t as good as it used to be. Do I just suck it up and wait for the promotion even know I am unhappy, or take a risk and find another job? I’m nervous that if I try and get another job, it won’t be stable like this one.

I have no kids or anyone dependant on me, if that helps.