Season the chicken with garam masala, garlic powder, salt and pepper; set aside. Heat the olive oil in a frypan over medium heat. Cook the onions in the hot oil until tender, about 5 minutes. Add the chicken; cook and stir until the chicken pieces are no longer pink on the outside, about 5 minutes. Remove the mixture from the pan and set aside.
Pour 1 cup of chicken stock into the pan and bring to a simmer. Scrape up the brown bits from the bottom of the pan; stir in the apricot jam and vinegar. Thin with the remaining chicken stock as needed to create a smooth sauce. Season to taste with the chilli sauce. Place chicken back in pan; simmer until chicken is cooked through, about 10 minutes. Stir in lime zest and butter before serving.