What you need to realize is that the root cause of this problem is a difference in motivation and pacing (and possibly ability) between you, your coworker, and your boss. You cannot solve this problem by injecting more motivation, drive, and ability into the situation.
It's your manager's job to manage
I say this in all seriousness, but not in the way it's normally meant. What I mean is that you feel so driven to make sure the project is completed at a high quality and on time that you are trying to take on some parts of your manager's job as well as your job and your coworker's job. Your managers can't see the problem because you won't let him/her (I'm going to say him from here on out for brevity). You need to step back far enough to let him do his job.
One thing you need to do is alert him to the problem, as tactfully as you can. Maybe something as simple as "I feel like I'm always playing catchup because the designer is usually late with the assets." If you're willing to do it and you have the kind of relationship with your boss where it's feasible, you can try simply pulling him aside and telling him flat out what you believe the problem is. I've done this myself with mixed results.
What you're not trying to do here is get the manager to instantly see the problem and fix it. In my experience, this doesn't happen, in part because the manager's perspective is very different from yours and in part because he's not just going to take your word for it that his valued employee is a slacker, nor should he. Instead, you are just opening his eyes so that when you step back, he will see exactly what is going on. You may even find that he and your various team members have been asking you to step back in their own ways, and due to the fact that you felt that if you did the project would fail, you didn't do it. Do it.
Yes, in the short term you need to get projects out the door, but in the longer term everyone needs to be fully capable of doing their jobs. If you always do everyone's job that can't happen.
Here are some things that can happen as a result of this:
- Everything is just fine. In this case, you worried over nothing, and the level of performance that wasn't up to your standard was at least good enough to meet the business requirements.
- The project wobbles a bit, the boss sees what's going on and fixes the problem. This is the one you want.
- The project fails, but the boss and hopefully the coworker learn from it and hopefully things get fixed.
- The project fails, but people believe that it is because you stopped picking up slack rather than because there was slack in the first place. Yes, you could get fired, but you're unhappy already. If your workplace can't resolve this situation to your satisfaction, you probably need to be on a team closer to your pace, drive, and ability. You strike me as a capable guy. You'll find a job in short order.
What to do with your coworker
I would suspect that if you're posting this question, you've already tried politely and maybe less-than-politely making suggestions on how your coworker could change her habits and have not met with much success. In my experience, trying to tell others how to do their job when they don't report to you has a very low success rate.
That said, I have found that as I pull back from where I currently work as I prepare to start a new job search, I am much more capable of phrasing such suggestions in a way that is likely to be accepted. I also believe that maybe my boss has caught on a bit and has done some nudging, but the way I word things is fundamentally nicer when I care less. So check out a little. Works wonders.