I don't agree with the current campaign against cannabis, it reminds me of when they used to say in the 70s that having a few joints would lead to harder drugs and you'd be on heroin in no time,anyway that's another debate.
However,what would you do if he was taking cannabis? Pointing out the dangers aren't going to make any difference,and he has already denied this.
He is smoking tobacco which he must know is extremely bad for him but he's still doing it,probably because these new friends are. I hope you have at least stopped him from smoking in the house .
I don't get why the holiday was significant though unless he had some experience with someone when you weren't around. More likely he has realised that he'd rather not go on holiday with his parents anymore, like most kids feel at around this age.
He can't remain your cuddly little boy forever and I think you have to face up to the fact that he's growing up and making his own decisions.Unfortunately,you can't choose his friends, but you can be there for advice and support when he needs it.