No, removing power is not generally a workable solution. While there are exceptions, most current ICs cannot tolerate voltages on their ordinary I/O pins outside of the range of their supplies (the situation is a little more complicated for 5v tolerant 3.3v parts). To protect against this, they have diodes from the inputs to the internal supplies. If you subject an unpowered chip to an active SPI bus, you will end up at least partially powering the chip through the I/O lines and these protection diodes. That loads the bus likely to the point of failure, and it puts more ongoing stress on the protection diodes than they are designed to handle. (While there are exceptions, without specific identification of the MCU you want to get out of the way as one of them, you have to assume that this usual constraint may apply.)
One thing that usually would work would be to to change the program of the "undesired" MCU to configure the I/O pins as tri-state inputs. In many cases it may even be enough to simply erase the MCU, without loading a new valid program.
Another, quite simple one could be to hold the "undesired" MCU in reset - generally that will tri-state its I/O's. However, do not do this to something like an ATmega which is itself programmed over the SPI pins, as traffic on the SPI bus while those parts are held in reset can end up accidentally reprogamming them with nonsense.