No, a Business Analyst does not need domain knowledge.
The key reason is that the Analyst's work is focused on business which, according to an applicable definition means, "to arrange one's affairs." "Arranging work" requires an understanding of how to inquire with the actual subject matter expert about their business. Further, domain knowledge may impede the Analysts work because they will be distracted by their own personal interpretation of the business.
The "root cause" point is interesting - one might think that domain expertise is required, and it is, but only in so far as there is someone to answer the line of questioning or methodology imposed by the Business Analyst. In these situations asking the right questions, facilitating the discussion, and asking the domain expert about how they organize their business is a key to success.
In cases where "domain expertise" is required, the request for a Business Analyst will result in a frustrating search. To be clear, domain expertise is vital to most projects but in assembling a team or searching for the right fit, that person will be much more than just a business analyst. This is why we have engineers of various types, architects, data scientists, etc. who are the true domain experts.