Once mirror mesh is made - how to remove its data from the original mesh
After using shape keys, your mirror modifier can't be applied, unfortunately. There's a way to recover from this situation, maybe, I'll try to describe it with a simple "cube" example.

Here is a simple half-cube with X mirror modifier, and a shape key setup.



The shape keys affect only the "real" part of the mesh, and the mirror cannot be applied. So, I'll 


remove the mirror modifier
duplicate the half-cube (SHIFTD)
scale it over X with -1 factor (mirrors over X the duplicate half-cube) using SX-1
note that each half-cube retains its shape keys, mirrored




Finally, I: 


join the two half-cubes (CTRLJ)
they became a single object (you could remove duplicate vertices at X = 0)
fix, in edit mode the normals, recalculating  them outside (CTRLN)




And now you have a single object, symmetric over X, with shape keys acting as if they were mirrored...

Of course, if you wish your model to behave differently on the left and right side (which was the primary reason to apply the mirror modifier), you could not need the shape keys of one side to be "duplicated mirrored" on the other side... in this case, before joining the two half-cubes, remove the shape keys from the duplicated half-cube...

I hope that this can be easily applied to your half-model too!