A multi-sig address is a hash of a script that combines multiple separate keys. In other words the purpose of it is to require multiple signatures from multiple keys that are stored (and usually generated) independently. For that reason it can not be generated from a single extended public key (xpub).
What you can do, is to have multiple extended keys, and ...
btcd does no support this functionality by design, however you can use btcwallet which is written in golang and support what you want
here is a similar question https://github.com/btcsuite/btcd/issues/1308