I have multiple companies with multiple users in it, but not all employers from the company has users in my otrs.
is there a way to create "generic" client in otrs that could have it´s e-mail changed based on the e-mail received or changed manually
You really, REALLY don’t want to do this. It makes tracking who is submitting issues almost impossible and it inserts an almost certain case that a reply will go to the wrong person, causing lots of confusion.
the problem is that I have a lot of e-mails from different companies and I can´t add them all as clients on my otrs, and I can´t use one default e-mail for the company because I need the survey to be sent to the user that opened the ticket
Your best bet is to write an exit that gets called when email enters the system that matches the domain name of the incoming email to the list of companies you serve and creates a user within that company at that time, ignoring the email if it doesn’t match a company that you serve. That way you reject random spam, you create user records as you need them, and you have a minimum of maintenance required (you just have to make sure you create a company when you sign a new contract). It also makes sure that the user exists for your survey email.