Hi,
Spawning physics is problematic with collision detections, at least that is what I experience. one way it to implement a OnCollisionStay, which is going to tell you what you want, BUT it is very inefficient, with a lot of over head.
I would go for a totally different approach to solve your problem.
In the random placement procedure, I would pick a random location and fire 4 ray cast from above ( the four points being the four corners of the building you will spawn. If one of these ray hit a building, then you need to move it, else you can commit the spawning.
bye,
Jean