Документация , похоже, довольно подробно описывает, какие операции являются асинхронными, поэтому я бы сказал нет: отправка сообщения не является асинхронной. Но в любом случае это имеет смысл - как можно вернуть ошибку, если операция еще не завершена?
Но вы можете сделать это асинхронным? Конечно. В Go сделать что-нибудь асинхронным тривиально - просто запустите его в программе.
Если вы новичок в goroutines, Тур по Го - отличное введение в концепцию.