Maybe I'm oversimplifying, but why ignore the fact that cities are built on advantageous terrain, or for that matter, any size of a civilized area for whatever reason? Maybe the terrain offers a tactical advantage for a military installment or perhaps there is a lumber mill at the intersection of a large forest and a river that has a larger village downstream. Even "holy" places are based on terrain even if for the simple fact that that particular section of land was at some point deemed holy, etc. No matter what the consequences are, the final resting place of the overwhelming majority of civilization exists in a physical spot for very terrain-based reasons. Even in the case of a city sprouting up simply because there's enough trade happening between two larger cities to warrant a middle-man, if you will, that city location would be chosen based on the path of least resistance. It would be placed somewhere that offered good flat farmland for the local food supply coupled with land that lends itself well to the construction of roads. I'm sure you've thought about this...
So, if you're going to build the cities first, sure, why not? Why not build the city, village, settlement or whatever, along with a decent chunk of surrounding terrain, built by hand, that supports that type of establishment?
Take procedural biomes as an example. They're usually applied to pseudo-random temperature, humidity and height maps. If you've already designed the city (or lumber-mill, etc.) then you likely have a firm concept of what the land needs to look like, which if I'm not misunderstanding, is exactly your point. Take a fantasy building like Orthanc, replete with floor-plans and surrounding terrain, which you've dutifully replicated. Well, we know, depending on timeline, Orthanc was surrounded by a huge forest populated with Ents (tree creatures), etc. If you're trying to replicate that, then applying a random terrain makes no sense to me. That being said, once you've created this setting for the tower itself and the surrounding forest what's between Orthanc and whatever your next city is?
Simple approach might be writing your procedural terrain generation, place your setting inside of a randomly generated terrain system and lerp your heights out around your fixed setting and viola you can place Orthanc in many different randomly generated worlds (should that be what your after).
I think however, you'd be best off with a combination of setting, terrain and defined biome and making sure Orthanc gets placed inside of a procedurally generated large forest biome. Depending on how you code it, you could set min/max biome, terrain, humidity, etc. for each pre-defined setting or building or city that you've sculpted. Would this be a small task in a full fledged photorealistic 3d world? Obviously not.
I think if I were to attempt this, I would research coastline procedural algorithms first. Taking the approach that almost all civilizations throughout history have followed any coastline, be it an ocean, sea or large lake. It's the path of least resistance for growth since there's likely abundant fishing, trees nearby for wood, and certainly faster travel even with rudimentary watercraft (at least one-way).
I would think you would have to build completely backwards. Think, pseudo-random dots on a map representing points of civilization possibly with a noise algorithm determining the populations of those civilizations before anything else is determined. OK, so 1 point comes out to a population of 1,000, another 2,000,000 (or whatever ratio depending on your world population of course). Why? Why are those numbers of populations there? A population of 1,000 might be the little lumber-mill community. Maybe it's a mining community if it's on the north side of the map should you be creating a 3d spherical world. It gets a little fuzzy here because I don't know if you're going infinite in all directions making NESW pointless in determining biomes or if you want a very real "Earth" world where extreme north and south are always frozen, etc.
However, if you plop down your civilizations, based on pseudo-random noise populations I think we can safely assume a few rules (but maybe not absolutes) like... The larger the civilization, most likely, the larger number of useful resources on hand and the terrain to support them. Precious minerals, woods, etc. ad nauseam have to be present or there must be a huge trade system in place to support such a vast enterprise. Based on that you can start generating highways from city to city and roads to the outlying settlements like a deep mining operation, etc. Pick points of civilization that would formulate good coastlines and drop the population points completely off the map where you need to fill your oceans (or maybe you have Atlantis's in your world, or offshore oil drills). Do the same for ellipsoid patterns inside those coastlines to represent your larger lakes, or forests, etc.
Filling in the terrain in-between again depends on your biome approach completely. If you have a infinite in every direction world then put Orthanc down wherever it fits population-wise, force it into a forest biome and build around it outward until you get to halfway to your next preset destination which your algorithm is doing the same procedural generation around. Lerp/Blend the two terrains together as they meet and yes this is an obvious oversimplification.
Without a real working knowledge of what you're actually trying to accomplish mechanically I can only throw out ideas and possibly bad ones. I think your approach has merit, even if it is completely fantastical in reality, because you're targeting what's always the most important factor in any game: Is the player having fun? Or, am I creating a random world that isn't boring and thus, not fun?
What would also get interesting, and this could be a part of the generation of civilizations in any game, terrain first or not, are what happens if you plop down 2 large cities next to each other? What does it mean? Are they at war? Are they massive trading operations between two flourishing nations? What kind of enemies lurk in the woods of that lumber-mill?
I do think one thing is certain if you're trying to build terrain based on "cities" and that is the terrain would be directly affected by the population of said city, both in landscape and natural resources (and perhaps even in beauty).
I'm not sure if I actually answered anything or if this was appropriate but it's a very interesting concept and I'd love to hear where you head with it.