Question: Is it safe if my server will create a SSH key pair for my client?
Scenario: I(server admin) will create a ssh key pair and put public key into authorized\_keys and give the private key to client so he can access my sftp server.

Answer: 
Your customer should be **generating their own keys** and **securing them with a passphrase**, then giving you their **public key** to store on the server you manage and that they need to access. **Their private key should never be given to anyone and it should be encrypted** (i.e. secured with a passphrase).
To allow access vith ssh/scp/sftp you can use public/private key pair. (\*)

I you generate and install such pair you will controll who will access a specific part of your server (in your case sftp directory).

If you have two or more customer/partner, be sure to generate one key per partner.

This way customer1 will access customer1's part. If set correctly (\*\*), private customer1's key will not access customer2's files, nor any other part of the server. 

* (\*) assuming as noted by Shadur, that transfert is *safe* from prying eyes.
* (\*\*) using chroot if possible (this depend on your directory structure).

---

As noted in my (deleted) comment, this is also a matter of trust from customer's part, but that should be OK, customer already trust you with his file.