Yes, Terraform allows you to use multiple backends for different environments. This can be useful if you have different requirements for your state management based on the environment you are working in, such as a development environment versus a production environment. The backend configuration in Terraform determines where state data is stored and how it is accessed.

You can define multiple backend configurations in your Terraform code, each corresponding to a different environment. For example, you can define a backend configuration for your production environment and another one for your development environment.

To specify a backend configuration for a specific environment, you can use Terraform workspace. Workspace is a feature in Terraform that allows you to manage multiple instances of a single configuration. Each workspace can have its own set of variables and state.

To create a new workspace, you can use the terraform workspace new command. 
For your production environment: 

terraform workspace new prod

For developement environment:
terraform workspace new dev

Once you have created the workspace, you can specify the backend configuration for that workspace using the backend block in your Terraform code. For example, you can define a backend configuration for your production environment like this:
terraform {
  backend "s3" {
    bucket = "my-production-bucket"
    key    = "terraform.tfstate"
    region = "us-west-2"
  }
}

And you can define a different backend configuration for your development environment like this:
terraform {
  backend "s3" {
    bucket = "my-dev-bucket"
    key    = "terraform.tfstate"
    region = "us-east-1"
  }
}

In the above example, we define two backend configurations, one for the production environment and one for the development environment. Each backend configuration specifies a different S3 bucket, key, and region.

To select which backend to use, you can pass the appropriate backend configuration to the terraform init command using the -backend-config option. For example, to initialize the production environment backend, you can run:
terraform init -backend-config=backend-production.tf

And to initialize the development environment backend, you can run:
terraform init -backend-config=backend-development.tf

By using separate backend configurations for different environments, you can ensure that each environment's Terraform state is stored in a separate location and is not mixed up with the state of other environments.