The real question is, what do you want to be responsible for, and what do you feel comfortable being responsible for? If you accept responsibility for the design of a system, you should feel confident that you can either make the appropriate decisions or bring an experienced person in to direct those portions you're not comfortable with. It's fine to push your comfort zone, but you should determine how hard you are willing to push.
You should ALWAYS feel comfortable saying, "I don't know". From there it is up to you to decide to accept responsibility to learn more or be accountable for more parts of a system.
As a caveat to your below comment, there is a difference between project management and programming. It seems clear that you are coming from an experience of getting burned by a bad project manager (or no project manager), and are now looking to find ways to CYA basically by learning more so you don't get stuck in a position where you deploy a broken product.
My advice.. let this one go.. Chalk it up to bad project management, BUT do this in the future:
Play the I don't understand card until you really do understand what the product/project you are supposed to build is. Don't assume you understand what requirements are. This basically forces one of 2 things to happen; either a person gets assigned to be project manager who can actually answer your incessant questions about things you don't understand and is responsible for the overall project success, or a clear project plan emerges from your detailed questions that you WRITE DOWN the answers to(document) and you effectively become the project manager.
This goes back to the question of if you want to accept the additional responsibility of being project manager. Maybe you don't. But if you do, it's pretty simple to think of the questions to ask. Just say, "what happens next", then "how do I do that" to every single thing you are supposed to accomplish for the project. If your answer is at any point "I'm not sure" (which is a good thing to identify), then you have to follow up with "what happens if that fails". Here's a scenario.
Your last project was introduced by your boss: build a website to sell our widgets. You say, website, no problem. What happens next? (after it is built). the answer should be pretty easy, step 1 build the website, step 2 deploy the website step 3 ??? step 4 profit!!! (sorry, had to). But then you ask, "how do I deploy the website" ? Are you sure or not sure(see above)? then you get to the almighty "what if it fails?", and you go from there. At that point you have to go back and ask the question again "do I want to be responsible for deploying the website".
That is planning, and good planning ensures good outcomes. It sounds like you already know what bad planning is, and are looking to avoid it a second time. I need to stop now, so good luck!