Zbrush can do anything. There are a lot of different approaches though, and it would be helpful to know more about what you want to do.
You can make a sort of “instant terrain” with a simple alpha with a noise pattern. Draw it out across a surface and you get peaks and land features based on alpha, that get more severe with greater Z intensity. You could also probably use Noisemaker to achieve the same thing. Or you can certainly sculpt a more deliberately crafted terrain by hand.
You could then cut “holes” through it with Dynamesh subtraction. Make some tube like objects, and subtract them from the target mesh to make tunnels. Or simply start with the tunnels, then gradually sculpt the walls and terrain up over them to close them off, dynameshing as you go.
You can sculpt on the interior of a tunnel by hiding parts of the mesh to get at it.
With any program of the power and complexity of Zbrush, you should plan on a learning curve, though. Expect to spend some time learning the Zbrush fundamentals.