It is possible. I have the similar case as yours. I've got a model, which consists of multiple separate parts. Each part has its own single *material* and own *textures*.
[![enter image description here][1]][1]

First join the meshes together with <kbd>Ctrl</kbd>+<kbd>J</kbd>.  
[![enter image description here][2]][2]

Next create a ***new UV Map*** (press the ***'+'*** button in the *UV Maps* panel of the *Mesh Data* header and *add a new image* in the *UV Editor* window.
[![enter image description here][3]][3]

Unwrap your mesh with <kbd>U</kbd>-->*Unwrap*.
[![enter image description here][4]][4]

Go to *Render* header, set the *bake mode* to ***Textures*** and hit the ***BAKE*** button. It will create one big color texture map from the all textures you've apllied.
[![enter image description here][5]][5]

-----------------------------
***EDIT:***
Here's a case, where object has *one material* and *multiple textures* applied to each face of the cube (via Unwrap-->*Project from View(Bounds)*). Every face has its own *UV Map* slot.
[![enter image description here][6]][6]

I then marked seams for the cube, unwraped it and created new *UV Map* for it (called 'all'). Then baked the Textures. And here's the result:
[![enter image description here][7]][7]

Hope it'll help you.

  [1]: https://i.sstatic.net/dmJSD.gif
  [2]: https://i.sstatic.net/9iJms.png
  [3]: https://i.sstatic.net/hdanB.png
  [4]: https://i.sstatic.net/mPmYo.png
  [5]: https://i.sstatic.net/FLpyK.png
  [6]: https://i.sstatic.net/EXyLa.png
  [7]: https://i.sstatic.net/VhXdc.png