Add a layer for your color and put it under your image.
Then use the blending mode "Luminosity" on that image. You can change the background color you want without changing the main picture.
Select your image layer, and go in the menu "Image", then select "Adjustment" and then "Desaturate."
Add a new layer with a color on top of that image and set it to the blending mode "Color."
To add a more dramatic effect, you put the color image on top of these 2 layers and use the "Overlay" blending mode at 60% transparency. It will create an Instagram style filter effect.
Another way (useful for Pantone and Spot printing)
Use the color mode "Duotone."
First set your image to grayscale mode, then Duotone mode in the menu "image/mode." Make sure to keep an original color version of your image!
Then in the Duotone menu, you can choose 1-2-3-4 colors and mix them together. The Duotone with 2 colors can be nice to add contrast. You can also play with the curves for each color to add more saturation or less wherever you want. You can use Pantones or CMYK or RGB color mixes.
If you need to keep this to print in spot colors or Pantone, you can save the image in EPS and leave it in Duotone mode. If you need it for web you can change the mode back to RGB. There's a slight color change that may happen but nothing dramatic.