Can a product support recurring and not recurring payment at the same time?
If you take a look at this page, you can see that what comes out of the box is that you create a seperate product variation for the recurring products and then create seperate products.

Instructions from the docs:


  
  Download and install the Commerce Recurring Framework and Advanced queue Drupal modules.
  
  
  Create a variation for the recurring products
  Go to admin/commerce/config/product-variation-types
  
  Add a product variation type with the “Allow subscriptions” trait
  Create a product type for recurring products
  
  
  Go to admin/commerce/config/product-types
  Add a product type that uses the previously-created product variation
  
  Create one or more billing schedules. The billing schedules will become options when configuring your product.
  
  
  Go to admin/commerce/config/billing-schedules
  Create a new billing schedule with the desired options
  
  
  Fixed (specific day of month) or rolling (from creation date)
  Dunning options to remind users for expiring credit cards
  
  
  Create a product
  
  
  Use the previously-created product type, with the recurring variation
  Use the desired billing schedule
  
  


A possible solution would be to create a custom block that switches between the two products on the product page.

If you want to fetch data from the recurring product on the normal product, you might want to create a reference field to the recurring product on the normal product.