Combined or separated tables: File and Message?
I would definitely go with two separate tables.


  customer wants to communicate by writing a message without having
  attachment (FilePath) or customer uploads any files without having any
  message (Content) written.


But with the way you're modeling it right now, there really isn't any relationship between file and message, as they both are dependent on Customer_ID.  If you tried to query all files and messages for each customer, you wouldn't be able to tell when the two are related (except maybe by looking at the date).

And it sounds like a customer can have a file without a message (and vice versa).  I think it makes more sense to create a "Communication" table (for lack of a better word).  Essentially it allows you to keep track of all types of communication (message and file) for your customers, but also ties message with file (attachments) when appropriate.

table: Communication
communication_id   int
customer_id        int
created            datetime


That would allow you to further normalize by taking "created" and "customer_id" out of the file and message tables.  Likewise, you'd want to add "communication_id" to both File and Message.  Then to report on them, you could do something like this:

SELECT *
FROM Customer cu
INNER JOIN Communication co ON cu.customer_id = co.customer_id
LEFT JOIN File f ON f.communication_id = co.communication_id
LEFT JOIN Message m ON m.communication_id = co.communication_id
ORDER BY cu.customer_id, co.communication_id