In case you're wondering, my answer was legally to the point.
It is a violation of the law to give a prescription medication to someone whose name is not on that prescription. So the relative who gave the employee a dose of the medication, even if the relative had a valid prescription for him or herself, violated the law since the employee's name was not on the prescription.
The employer can, LEGALLY, fire the employee for testing positive for a narcotic while on duty in most if not all states. The employer can, LEGALLY, fire the employee for suspicion of theft EVEN IF the employee has an alternate way the drug could have gotten into his system. And EVEN IF the employer is wrong and the employee can prove it in 49 out of 50 states (and sometimes in the 50th).
So I'd suggest that the employee either come up with a prescription with his own name on it that was in effect at the time the drugs went missing AND a valid reason why he was under the influence of it while at work, or plan on losing his job.
That is a legally correct, non-hypothetical answer to your question based on the facts we have available. You don't like it, go pay an attorney or come up with different facts.