It is a person that most likely identified the problem and they come up with requirements, or it could be end users of the software. Software has to solve their issues. Domain experts have a great knowledge about their niche in a business and they are the ones that can help to gain more knowledge about the domain. A domain expert, most likely, will not be technical.