"Procedural" means that some algorithm made the content. This is opposed to content being created manually by a human.
"Dynamic" means that the content changes over time. This is opposed to "static" content that does not change after being created, or only changes in predefined ways e.g. key-framed character animation.
You can also have in-game player-created content. That's a game feature that allows players to alter the levels or game during game play rather than using external tools to mod the game. For the sake of the next few paragraphs, I'm assuming that we're not talking about player-created content.
You can use code to generate something that never changes; such content is static and not dynamic, despite being procedural. All dynamic content is procedural, but not all procedural content is dynamic.
You can mix manual, procedural, static, and dynamic content in all kinds of ways, too. For instance, an artist might create a building model manually, use a tool to procedurally generate various texture maps for the model, and then setup data for physics or gameplay systems to dynamically destroy the building and spawn static debris during play.
Note: these definitions are not formal. You could argue semantics about these words forever. You are likely to run into people with different definitions of these words and neither of us would necessarily be wrong. Even technology jargon is far more fluid than us programmer types tend to prefer. :)