Before you take the advice of 'leave the b@5t$%'
I think you can do a few things to try have a stable family home for your child.
You need your own place. Get it. One way or another. Seek advice from citizens advice if you need to
Communicate. Tell him what kind of life you want to live together in your home. I.e. i want to live in a clean home, do you? Okay, how can we do it. Suggest he pays for a cleaner for his share if he doesnt want to clean. Some people just weren't born to clean and that's fine if he can earns the money to pay somebody.
Practice and master your tone, timing and delivery. When talking about sticking points make sure you are both fed, watered, rested and in a good place. Start by acknowledging your own weakness first (make it up if you have to ;) in his weak area and then ask how you're going to solve it.
I.e. I struggle to keep on top of the housework, it gets me down. Can we solve this?
Get him to suggest some solutions. "Google it" (how people manage house chores) and read advice from a third party (lands better than telling him what he should be doing). Pretend you don't know how it's done either.
I have lived with a big kid like yours but he is getting there.
If communications fail. Then revert to tough love. Natural consequences. Tell him you will live on your own until he is ready to take on normal adult responsibilities. If the threat of losing his life with you and your child doesn't shape him up then yes it is time to split up.