How to prevent meshes from passing through each other?
You need to animate the location of the guitar and hands so that they are in sync with each other. Start with a pose for the body, then place the guitar in front of it and place the hands to match. This could mean adding keyframes every frame to keep the hands and guitar together.

For your character, enable (or create) IK for the arms. This will allow you to place the hands and have them stay still as you move the body. Some child of constraints might help move the guitar and hands together while still allowing the hands to be moved independently. You may want to look at using the rigify addon to create a basic armature that you match to your character, then have it generate a more complex rig that has IK/FK switches etc. You can find some tutorials like this one that explain using rigify in more detail.

If your interests are in rigging then you could look into setting up a more complex rig that could make animating easier, if you only want to animate then focus on animating the two objects so they appear in sync with each other.