Question: In real time project, who provides BDD scenarios (cucumber feature file) to be automated? Is it already provided by the business or QA person has to write it?

Answer: 
This depends who you let write them. It is not like there is a rule whom should write them.

At least the "[Feature:](https://github.com/cucumber/cucumber/wiki/Feature-Introduction)" part of the BDD should be written by a business person as user-story format is from a business perspective. The "Scenario:" examples could be written by others:

* Product Owner: In Agile teams I think this is a great candidate.
* QA: BDD Scenarios or Acceptance steps are tests, so letting test-minded people write them makes sense.
* Developer: If no one else writes them this person could also write them if they want to work test-first.

Personally I would hold [Specification by Example workshops](https://less.works/less/technical-excellence/specification-by-example.html) and let the team define them together including business people, developers and qa.
Preferrably, the feature files are not provided but are created in a collaborative effect between tester, developer and product owner. Commonly referred as the [three amigos concept](https://inviqa.com/blog/bdd-guide). See also thoughts on this from the creators of cucumber <https://cucumber.io/blog/2014/03/03/the-worlds-most-misunderstood-collaboration-tool>