In general, yes both are correct. There is no implicit minimum amount of time or instances implied by using a perfect progressive verb form (‘has/have/had been Xing’).
However, context can have interesting implications here.
Depending on the context, a perfect progressive verb form implies either of:
- A single continuous action.
- A recurring series of individual instances of the action.
Your first example will for most people be the first case here, essentially equivalent to a past perfect form (which would be ‘Somebody has smoked [a cigarette/cigar] in here.’).
Your second example though will for most people be the second case, implying that the cat is habitually peeing in your garden, not that it has simply happened once.
Unfortunately, despite being a native English speaker, I can’t really explain conclusively why this differentiation exists. As far as I can tell it has to do with how people perceive the ‘basic duration’ of the activity being described. For stuff most people think of as taking a very short time, the second case (describing a recurring series of individual events) seems to be the common interpretation, while things that most people think of as taking a longer amount of time tend to get interpreted in this form as referring to a single longer instance of the action.