Generally, yes. It depends on the test given, and how recent the Vicodin (containing hydrocodone) was taken. But in general, yes. Most drug tests will test for Vicodin (hydrocodone and/or its metabolities).
Yes. I an guessing you mean Hash or something similar by saying synthetic marijuana. A marijuana drug test is looking for the metabolite of THC. So if the drug has THC in it, which is what gets you high in marijuana, then it will show up in a drug test.