I know that normal maps are made from hi-poly versions of the model, but is it possible to do the reverse: to generate a high-poly model from a lo-poly model and normal map?
No. And not all normal maps are made from low to high poly baking.
You can use a displacement map to displace geometry however (create a simple form, add a detailed displacement map, and tweak it.)
If you had a bump map rather than a normal map, you could subsurface (or just subdivide) the low-poly model to provide extra geometry, and then apply the map as a displacement modifier.
Oooo, new term for me. What is this displacement stuff you are talking about?
It’s in the texture Map To tab, along with the colour, normals and other buttons for what you want to apply the texture to. The button text is abbreviated to “Disp”.
If you want to bake it, instead of doing it via the texture tools, do it as a Modifier (in the edit tools panel), then you’ll have an Apply button to make it your mesh’s actual shape.
It IS a pretty neat tool, epic landscapes can be made in a few minutes with plain ol’ procedural textures.
There are ways where you can convert a normal map to a bump/heightmap to some extend. You then can use it as displacement map. Depending on the geometry the normal map describes the result will be.
Just use google how to convert a normal map to a bump/height- or displacement map. IIRC nvidias Photoshop plugin for normalmaps can do it.